美文网首页
elasticsearch 中文停用词设置

elasticsearch 中文停用词设置

作者: momo1023 | 来源:发表于2019-12-05 17:25 被阅读0次

    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

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
    <properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 -->
        <entry key="ext_dict"></entry>
         <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords">extra_stopword.dic</entry>
        <!--用户可以在这里配置远程扩展字典 -->
        <!-- <entry key="remote_ext_dict">words_location</entry> -->
        <!--用户可以在这里配置远程扩展停止词字典-->
        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
    </properties>
    

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

    相关文章

      网友评论

          本文标题:elasticsearch 中文停用词设置

          本文链接:https://www.haomeiwen.com/subject/lccjgctx.html