乐于分享
好东西不私藏

Elasticsearch插件IK分词器中的停用词过滤

Elasticsearch插件IK分词器中的停用词过滤

为什么要使用停用词

在Elasticsearch中,自定义词典和停用词过滤是优化中文搜索效果的核心手段。自定义词典用于补充领域专属词汇、修正分词结果,停用词过滤用于剔除无实际语义的高频词(如“的”“是”“在”),减少索引冗余并提升查询准确性。

IK分词器中如何使用停用词

Elasticsearch中安装好analysis-ik中文插件后,在config/analysis-ik目录下,有两个停用词文件:stopword.dic和extra_stopword.dic。stopword.dic是英文停用词,默认是生效的,extra_stopword.dic是中文停用词,默认是不生效的。

1、查看stopword.dic(英文停用词)默认是否生效

curl -X POST "https://127.0.0.1:9200/_analyze?pretty" -H'Content-Type:application/json' -d'{"analyzer":"ik_max_word","text":"She is a beautiful girl"}' -u elastic:654321 -k

分词结果:she、beautiful、girl,而is和a因为是停用词而没有出现,stopword.dic(英文停用词)默认生效

2、查看extra_stopword.dic(中文停用词)默认是否生效

curl -X POST "https://127.0.0.1:9200/_analyze?pretty" -H'Content-Type:application/json' -d'{"analyzer":"ik_max_word","text":"也了仍电脑"}' -u elastic:654321 -k

分词结果:也、了、仍、电脑,extra_stopword.dic(中文停用词)默认不生效

3、如何让extra_stopword.dic(中文停用词)生效

我们可以配置IK Analyzer的配置文件以加载这个停用词文件

编辑/config/analysis-ik/IKAnalyzer.cfg.xml

<properties>    <comment>IK Analyzer 扩展配置</comment>     <!--用户可以在这里配置自己的扩展停止词字典-->    <entrykey="ext_stopwords">extra_stopword.dic</entry></properties>

保存文件后,重新启动Elasticsearch,再次查看extra_stopword.dic(中文停用词)是否生效:

curl -X POST "https://127.0.0.1:9200/_analyze?pretty" -H'Content-Type:application/json' -d'{"analyzer":"ik_max_word","text":"也了仍电脑"}' -u elastic:654321 -k

分词结果:电脑,extra_stopword.dic(中文停用词)已经生效,也、了、仍是停用词,已经没有出现了

1、不同领域的停用词可能是不同的

    比如电商领域,停用词可能是商品、产品、购买等高频低价值词

    社交媒体,停用词可能是分享、点赞、评论等平台通用词

2、谨慎选择停用词

    过度过滤会丢失语义信息

3、区分索引与查询分析器

    可在索引时使用严格停用词,查询时使用宽松策略(甚至不禁用),以提高召回率

4、结合同义词处理

    停用词与同义词常配合使用,构建更智能的搜索体验

5、监控与迭代

    通过用户搜索日志分析高频无效词,持续优化停用词表

Elasticsearch 6.4.0版本 相关文章:

Elasticsearch搜索引擎应用实战(一)

Elasticsearch搜索引擎应用实战(二)

Elasticsearch中的read_only_allow_delete

Elasticsearch 8.17.0版本 相关文章:

Spring Boot(二十五):Elasticsearch的特性、应用场景和核心概念

Spring Boot(二十六):Elasticsearch的常用REST API

Spring Boot(二十七):Spring Boot与其他软件的版本兼容

Spring Boot(二十八):Elasticsearch在Spring Boot中的使用

Spring Boot(二十九):Elasticsearch的中文插件和分词器对比

Elasticsearch中为什么需要使用及如何使用自定义词典?

更多内容,请关注公众号:

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » Elasticsearch插件IK分词器中的停用词过滤

评论 抢沙发

8 + 2 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮