gpt4 book ai didi

java - Lucene - 不需要索引的字符串字段

转载 作者:搜寻专家 更新时间:2023-11-01 03:00:05 24 4
gpt4 key购买 nike

(目前使用 Lucene 4.6)。

只是想知道为什么将文本信息存储在没有索引的 org.apache.lucene.document.Document 中似乎有点不受欢迎。 TextField 已被索引和标记化。 StringField 已编入索引但未标记化。

但假设您只需要一个 String,它伴随着您的 org.apache.lucene.document.Document 中的其他信息,但它本身永远不会成为查询?

只是(在4.6中)org.apache.lucene.document.Field.Index有个“NO”,意思是“不索引字段值。”,但目前这是“已弃用”。

为什么?有没有更好的方法让“惰性”String 信息伴随您的索引(并且可能标记化)更重要的字段?

最佳答案

(将近)2 年后,我希望对事物有更好的理解。

这个问题的答案似乎是使用 StoredField

事实上 TextFieldStringField 作为 StoredField 在索引中存储和检索。 StoredField 是“不可知的”,TextFieldStringField 也是:所有这些都是 Field 的子类,它具有,在其他方法中,setStringValuesetIntValuestringValuenumericValue!

在 Lucene 6 中没有 IntField ……但是有一个名为 IntPoint 的“红鲱鱼”。这是一条红鲱鱼,因为它不能存储在索引中……永远!

事实上,如果您需要存储一个Integer,您(我认为)需要使用StoredField 或(如果它需要被索引)StringField.

参见 this recent answer of mine .

关于java - Lucene - 不需要索引的字符串字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37513133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com