Lucene 搜索失败并出现异常:ava.lang.IllegalStateException:字段的意外文档值类型 NONE

Lucene search is failing with Exception: ava.lang.IllegalStateException: unexpected docvalues type NONE for field

从 Lucene 4.6 升级到 8.0 后,Lucene 的搜索因异常而失败,并出现以下错误。

异常: java.lang.IllegalStateException:字段 'case.id' 的意外文档值类型 NONE(应为 [BINARY,SORTED] 之一)。使用正确的文档值类型重新编制索引。 在 org.apache.lucene.index.DocValues.checkField(DocValues.java:317) 在 org.apache.lucene.index.DocValues.getBinary(DocValues.java:352) 在 org.apache.lucene.search.join.DocValuesTermsCollector.lambda$binaryDocValues$0(DocValuesTermsCollector.java:48) 在 org.apache.lucene.search.join.DocValuesTermsCollector.doSetNextReader(DocValuesTermsCollector.java:44) 在 org.apache.lucene.search.SimpleCollector.getLeafCollector(SimpleCollector.java:33) 在 org.apache.lucene.search.join.GenericTermsCollector$2.getLeafCollector(GenericTermsCollector.java:128) 在 oracle.edq.casemanagement.search.cancel.CancellableCollector.collect(CancellableCollector.java:69)

添加新的 SortedDocValuesField(fieldName, new BytesRef(value));对于抛出错误消息的领域