【发布时间】:2015-05-11 16:14:17
【问题描述】:
我正在使用和使用 Lucene 来索引我们的数据,我遇到了一些关于 DocValues 字段的奇怪行为。
那么,谁能解释一下常规文档字段(如 StringField、TextField、IntField 等)和 DocValues 之间的区别字段 (如 IntDocValuesField、SortedDocValuesField(类型在 Lucene 5.0 中似乎有所变化)等)?
首先,为什么我不能使用 document.get(fieldname) 访问 DocValues?如果是这样,我该如何访问它们?
其次,我看到在 Lucene 5.0 中改变了一些特性,例如排序只能在 DocValues 上进行……这是为什么呢?
第三,DocValues可以更新,但常规字段不能(你必须删除并添加整个文档)......
另外,也许最重要的是,我应该何时使用 DocValues 以及何时使用常规字段?
约瑟夫
【问题讨论】: