elasticsearch 中文停用词设置

elasticsearch 中文停用词设置

在使用 elasticsearch 进行搜索的时候,经常会发现一篇和搜索关键字完全不匹配的文章排在最前面。它可能就被 ik_max_word 分词后,刚好就有类似 "的" 这样的无意义词,导致造成一篇含有很多无意义词的文章得到一个较高的评分。

那么一个有效的解决办法就是对这些无意义的词——停用词进行屏蔽。

解决方案

如果你使用 ik 中文分词器,它默认设置的停用词都是英文的,比如 AND、OR 等。

配置文件在 elasticsearch-7.x.x\plugins\ik\config\ 目录下,打开目录可以看到有 stopword.dicextra_stopword.dic 两个文件。stopword.dic 里面的为配置的英文停用词,extra_stopword.dic 里面为配置的中文停用词。

默认是使用 stopword.dic 的,想要使用 extra_stopword.dic 的话是需要在 ik 中进行配置的,配置文件为 IKAnalyzer.cfg.xml




    IK Analyzer 扩展配置
    
    
     
    extra_stopword.dic
    
    
    
    

配置完成后重启 elasticsearch,就可以发现停用词已经不再对搜索产生影响了。

你可能感兴趣的:(elasticsearch 中文停用词设置)