Lucene 6 添加 IntFields

标签 lucene field

我是一个十足的 Lucene 新手,如果这个问题太基础了,我很抱歉。谷歌搜索没有帮助。我有一些将 Lucene 2 迁移到 5 的代码。旧代码将文档处理为 -

Document doc = new Document();
doc.add(new StringField("id", "id1", Field.Store.YES));
doc.add(new IntField("numBooks",10,Field.Store.YES));
...

新的 Lucene 不再有 IntFields。处理它们的最佳方法是什么?有 NumericDocValuesField,但没有 Field.Store 参数。最好使用什么“字段”类型?

最佳答案

IntField 等数字字段已替换为 PointValues 字段,例如 IntPoint 。如文档中所述,您应该添加单独的 StoredField实例(如果您需要存储它):

doc.add(new IntPoint("numBooks",10));
doc.add(new StoredField("numBooks", 10));

请参阅Migration Guide了解更多信息。

关于Lucene 6 添加 IntFields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42659616/

相关文章:

php - Woocommerce:设置结帐字段值

lucene - Orchard - 搜索和索引问题

lucene - Sitecore Lucene 从索引中排除项目

c# - 有没有办法通过反射设置 C# 只读自动实现的属性?

c# - 为什么这个 Lucene.Net 查询会失败?

Lucene按笔画/部首对汉字进行排序

c - 在循环中使用变量访问相似的结构

java - 如何以及何时计算静态最终字段值?

azure - 如何在Azure搜索索引中获取字符匹配而不是子字符串

java - lucene 4.10.2 为索引中的所有术语计算 tf-idf