Lucene 10.0.0分词字符串字段反向排序触发计数限制时报错求助
问题:Lucene 10.0.0反向排序分词字段触发计数限制时的报错问题
我们团队遇到了一个仅在特定排序条件下才会出现的错误。使用最新的Lucene 10.0.0版本,分词、非存储字符串的排序大部分时候都能正常工作,但唯一的失败场景是:对分词字符串字段进行反向排序,且结果集超过1000条触发计数限制时,会抛出错误:
Term [{首个结果的十六进制字符串值}] exists in the doc values but not in the term index
我们不想通过添加仅用于排序的额外非分词字段这种需要修改索引的方案来解决——毕竟当前方式几乎可以完美开箱即用,不想因为遗漏细节而引入workaround。想问有没有人不用这种方式解决过这个问题?
索引实现代码
case TEXT -> { var text = value.asText(); doc.add(new TextField(name, text, Store.NO)); doc.add(new SortedDocValuesField(name, new BytesRef(text))); }
排序实现代码
case KEYWORD, BOOLEAN, TEXT -> new SortField(sort.field(), SortField.Type.STRING, sort.reverse());
内容的提问来源于stack exchange,提问作者Heidtmare
相关产品推荐
相关产品推荐

