Lucene如何支持外卡搜索?
我想搜索以牛开头的单词
我正在使用ox*
搜索单词,但它也会返回anti-oxide
之类的意外结果 - 但我不希望结果如此。
答案 0 :(得分:0)
这与您的数据分析方式有关。 StandardAnalyzer将分隔空格和标点符号(many other rules之间)。标准分析器通常非常适合全文。如果它不符合您的特定需求,many other analyzers可用。如果没有关于你打算完成什么的更多信息,我真的不能推荐一个特定的。
答案 1 :(得分:0)
根据Lucene FAQ,您的查询ox*
应仅匹配以牛开头的字词。
由于StandardTokenizer
考虑了hyphen as a delimiter,因此anti-oxide
这样的词会被分为两个词 - anti
和oxide
,因此匹配anti-oxide
}当您搜索ox*
时。
您有2个选项可以更改此行为: