我是 lucene 的新手,我正在尝试在精确字段中查找所有具有精确值的文档。
在索引(使用luke)中可见,该字段__r_ani包含数值567248953
但当我尝试在这个索引中搜索时,lucene没有返回任何结果。我尝试了以下查询:
__r_ani:567248953
__r_ani:"567248953"
__r_ani:[* TO *]
是否可能,该字段有一个坏名称(以2个下划线字符开头)?或者有可能,该字段的配置不好?(标记化、索引、存储等……)?
编辑:我刚刚发现,我的同事正在将其索引为StoredField。我尝试将其索引为StringField,现在搜索就可以了。我仍然不明白,当它被索引为StoredField时,为什么我无法通过查询找到它。
当我只使用StoredField时,值被存储,但不被索引。卢克在撒谎,那个值被编入索引。将该值索引到字段后(使用StringField或Double/LongPoint ),搜索开始工作。