我正在使用Lucene 8.3,并且遇到了StandardAnalyzer的意外行为。为了隔离这个问题,我设法产生了与Luke相同的行为。下面是对Luke的描述:
我正在使用StandardAnalyzer创建一个新文档。单个字段: name=myField;type=StringField;options=存储值;value='Foo‘
然后切换到搜索:解析术语'myField:Foo‘会显示它被转换为小写。这是StandardAnalyzer的预期行为。但是,搜索不会产生任何结果。切换到WhitespaceAnalyzer将解析相同的术语保留大小写。搜索将提供我刚刚输入的一个新文档。
在我看来,在文档创建/索引编写过程中,StandardAnalyzer似乎不会将文本转换为小写。在我的Java代码中也有同样的情况。
我遗漏了什么?是否还有其他我需要观察的设置?
发布于 2020-01-01 06:35:46
不分析StringField。使用TextField。
此处记录了常用字段类型:http://lucene.apache.org/core/8_3_0/core/org/apache/lucene/document/Field.html
https://stackoverflow.com/questions/59532172
复制相似问题