使用Lucene/ElasticSearch使用停止词进行模糊搜索会产生意外结果
我注意到,停止词上的模糊运算符并没有产生我期望的结果 以下是我的配置:使用Lucene/ElasticSearch使用停止词进行模糊搜索会产生意外结果,lucene,elasticsearch,fuzzy-search,Lucene,elasticsearch,Fuzzy Search,我注意到,停止词上的模糊运算符并没有产生我期望的结果 以下是我的配置: index : analysis : analyzer : my_analyzer : tokenizer : my_tokenizer filter : [standard, my_stop_english_filter] tokenizer : my_tokenizer
index :
analysis :
analyzer :
my_analyzer :
tokenizer : my_tokenizer
filter : [standard, my_stop_english_filter]
tokenizer :
my_tokenizer :
type : standard
max_token_length : 512
filter :
my_stop_english_filter :
type : stop
stopwords : [the]
ignore_case : true
假设我已经建立了索引:
褐狐
如果我搜索:
棕色~fox~,然后我得到了预期的成功
但是,如果我搜索:the~brown~fox~,那么我就不会被击中,大概是因为模糊操作符阻止了the被视为停止词
有没有一种方法可以将停止词与模糊搜索结合起来
谢谢,
Eric如果我没记错的话,这就是Lucene当前编写的工作方式——使用模糊搜索禁用停止词的停止。这需要一些工作,但您可以创建一个修改版的查询解析器,以便在应用模糊搜索时忽略停止词(但如何处理对看起来像停止词的内容的模糊搜索?您对~brown~fox~的结果有何期待?我希望能够找到brown-fox。但是由于模糊算子,停止词没有被当作停止词(我想)。