ElasticSearch18:扩展词、停用词配置

ElasticSearch18:扩展词、停用词配置

扩展词典

有些词并不是关键词,但是希望被ES用来作为检索的 关键词,可以将这些词加入扩展词典。

停用词典

关键词不想被检索到,可以放入停用词典。

配置

定义扩展词典和停用词典可以修改IK分词器中config目录中IKAnalyzer.cfg.xml这个文件。
root@redis01:~/es-kibana/ik-8.1.2# cd config/ root@redis01:~/es-kibana/ik-8.1.2/config# ls extra_main.dic extra_single_word.dic extra_single_word_full.dic extra_single_word_low_freq.dic extra_stopword.dic IKAnalyzer.cfg.xml main.dic preposition.dic quantifier.dic stopword.dic suffix.dic surname.dic root@redis01:~/es-kibana/ik-8.1.2/config# vim 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">exc.dic</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords"></entry> <!--用户可以在这里配置远程扩展字典 --> <!-- <entry key="remote_ext_dict">words_location</entry> --> <!--用户可以在这里配置远程扩展停止词字典--> <!-- <entry key="remote_ext_stopwords">words_location</entry> --> </properties>
notion image
创建exc.dic文件
root@redis01:~/es-kibana/ik-8.1.2/config# vim exc.dic 矿大 矿大教育

重启

root@redis01:~/es-kibana/ik-8.1.2/config# cd ../ root@redis01:~/es-kibana/ik-8.1.2# cd .. root@redis01:~/es-kibana# docker compose down root@redis01:~/es-kibana# docker compose up -d
 
POST /_analyze { "analyzer": "ik_max_word", "text":"我是一名矿大学子,矿大教育很棒" }
notion image
矿大矿大教育就是添加的关键词了
同样的配置停用词。我们自己一个一个太麻烦了,官方提供了extra_main.dic
推荐使用extra_main.dicstopword.dic
notion image
notion image