升级到8.8后,Solr在部分更新时抛出错误

升级到8.8后,Solr在部分更新时抛出错误,solr,solrj,backwards-compatibility,solr8,Solr,Solrj,Backwards Compatibility,Solr8,我正在做一个简单的部分更新场景,它使用Solr的6.x和7.x版本。将Solr和Solrj升级到8.8后,我得到以下异常: 2021-02-23 14:57:58.201 ERROR (qtp-459670553-28) [ x:core1] o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: TransactionLog doesn't know how to serialize class org.apache

我正在做一个简单的部分更新场景,它使用Solr的6.x和7.x版本。将Solr和Solrj升级到8.8后,我得到以下异常:

2021-02-23 14:57:58.201 ERROR (qtp-459670553-28) [   x:core1] o.a.s.h.RequestHandlerBase org.apache.solr.common.SolrException: TransactionLog doesn't know how to serialize class org.apache.lucene.document.LazyDocument$LazyField; try implementing ObjectResolver?
    at org.apache.solr.update.TransactionLog$1.resolve(TransactionLog.java:100)
    at org.apache.solr.common.util.JavaBinCodec.writeVal(JavaBinCodec.java:266)
    at org.apache.solr.common.util.JavaBinCodec$BinEntryWriter.put(JavaBinCodec.java:441)
    at org.apache.solr.common.ConditionalKeyMapWriter$EntryWriterWrapper.put(ConditionalKeyMapWriter.java:44)
    at org.apache.solr.common.MapWriter$EntryWriter.putNoEx(MapWriter.java:101)
    at org.apache.solr.common.MapWriter$EntryWriter.lambda$getBiConsumer$0(MapWriter.java:161)
    at org.apache.solr.common.MapWriter$EntryWriter$$Lambda$548/0000000000000000.accept(Unknown Source)
    at org.apache.solr.common.SolrInputDocument.lambda$writeMap$0(SolrInputDocument.java:59)
    at org.apache.solr.common.SolrInputDocument$$Lambda$549/0000000000000000.accept(Unknown Source)
    .....
solrj代码与提供的示例非常相似,在升级之前就已经运行了。操作为“添加”,其中包含一个简单的整数字段,用于提供id的文档

请注意,这与上一个问题不同,因为我传递的是简单的整数字段,在solr/lucene端,它被替换为
org.apache.lucene.document.LazyDocument$LazyField

似乎是solr中的一个bug,将在下一版本的Solr8(8.9)中修复


在发布之前,解决方法是在solrconfig.xml中设置
false
,谢谢您的解决方案。这成功了!