elasticsearch,fuzzy-search,Lucene,elasticsearch,Fuzzy Search" /> elasticsearch,fuzzy-search,Lucene,elasticsearch,Fuzzy Search" />

使用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。但是由于模糊算子,停止词没有被当作停止词(我想)。