Hello,

We are moving our text analysis to outside of Solr and use PreAnalyzedField to 
speed up indexing. We also use MLT, but these two don't work together, there is 
no way for MLT to properly analyze a document using the PreAnalyzedField's 
analyzer, and it does not pass the code in the MLT qparser where it checks for 
FieldType.isExplicitAnalyzer().

So instead of changing the schema, i tried using 
PreAnalyzedFieldUpdateProcessor. This would be ideal because MLT still works 
and i can still manually index non-preanalyzed documents when developing, just 
by switching URP chain.

I cannot get it to work. When i place the URP on top of all others i get:

TransactionLog doesn't know how to serialize class 
org.apache.lucene.document.Field; try implementing ObjectResolver?
        at 
org.apache.solr.update.TransactionLog$1.resolve(TransactionLog.java:100)
        at 
org.apache.solr.common.util.JavaBinCodec.writeVal(JavaBinCodec.java:264)

If i put the URP directly above Run i get:

Remote error message: TransactionLog doesn't know how to serialize class 
org.apache.lucene.document.Field; try implementing ObjectResolver?
        at 
org.apache.solr.update.processor.DistributedZkUpdateProcessor.doDistribFinish(DistributedZkUpdateProcessor.java:1189)
        at 
org.apache.solr.update.processor.DistributedUpdateProcessor.finish(DistributedUpdateProcessor.java:1096)

If i remove the DistributedURP indexing a preanalyzed document works, but, my 
stored field is suddenly prefixed with:

org.apache.lucene.document.Field:stored,indexed,tokenized,termVector,termVectorOffsets,termVectorPosition,omitNorms<content_nl:

This is not the case when i use PreAnalyzedField. The field is searchable so 
that does work.

How can i get it work work in Solrcloud and how do i prevent my stored field 
being prefixed? This is with Solr 8.3.1.

Thanks,
Markus

Reply via email to