31_彻底掌握IK中文分词_IK分词器配置文件讲解以及自定义词库实战

31_彻底掌握IK中文分词_IK分词器配置文件讲解以及自定义词库实战,第1张

<meta charset="utf-8">

ik配置文件地址:es/plugins/ik/config目录

IKAnalyzer.cfg.xml:用来配置自定义词库

main.dic:ik原生内置的中文词库,总共有27万多条,只要是这些单词,都会被分在一起

quantifier.dic:放了一些单位相关的词

suffix.dic:放了一些后缀

surname.dic:中国的姓氏

stopword.dic:英文停用词

main.dic:包含了原生的中文词语,会按照这个里面的词语去分词

stopword.dic:包含了英文的停用词

停用词,stopword

a the and at but

一般,像停用词,会在分词的时候,直接被干掉,不会建立在倒排索引中

(1)自己建立词库:每年都会涌现一些特殊的流行词,网红,蓝瘦香菇,喊麦,鬼畜,一般不会在ik的原生词典里

自己补充自己的最新的词语,到ik的词库里面去

IKAnalyzer.cfg.xml:ext_dict,custom/mydict.dic

补充自己的词语,然后需要重启es,才能生效

(2)自己建立停用词库:比如了,的,啥,么,我们可能并不想去建立索引,让人家搜索

custom/ext_stopword.dic,已经有了常用的中文停用词,可以补充自己的停用词,然后重启es

如何使用中文分词和自定义中文分词词典

可以使用下面的命令,启用中文分词。

1.CREATE EXTENSION zhparser

2.

3.CREATE TEXT SEARCH CONFIGURATION testzhcfg (PARSER = zhparser)

4.

5.ALTER TEXT SEARCH CONFIGURATION testzhcfg ADD MAPPING FOR n,v,a,i,e,l WITH simple

6.

7.--可选的参数设定

8.alter role all set zhparser.multi_short=on

9.

10. --简单测试

11. SELECT * FROM ts_parse('zhparser','hello world! 2010年保障房建设在全国范围内获全面启动,从中央到地方纷纷加大了保障房的建设和投入力度。2011年,保障房进入了更大规模的建设阶段。住房城乡建设部党组书记、部长姜伟新去年底在全国住房城乡建设工作会议上表示,要继续推进保障性安居工程建设。')

12.

13. SELECT to_tsvector('testzhcfg','“今年保障房新开工数量虽然有所下调,但实际的年度在建规模以及竣工规模会超以往年份,相对应的对资金的需求也会创历史纪录。”陈国强说。在他看来,与2011年相比,2012年的保障房建设在资金配套上的压力将更为严峻。')

14.

15. SELECT to_tsquery('testzhcfg','保障房资金压力')

利用分词进行全文索引的方法如下。

1.--为T1表的name字段创建全文索引

2.create index idx_t1 on t1 using gin (to_tsvector('zhcfg',upper(name)))

3.

4.--使用全文索引

5. select*from t1 where to_tsvector('zhcfg',upper(t1.name))@@ to_tsquery('zhcfg','(防火)')

还可以使用自定义的中文分词词典,使用方法如下,注意自定义中文分词词典在内核小版本20160801和之后的版本才支持。

1.--确实的分词结果

2.SELECT to_tsquery('testzhcfg','保障房资金压力')

3.

4.--往自定义分词词典里面插入新的分词

5.insert into pg_ts_custom_word values ('保障房资')

6.

7.--使新的分词生效

8.select zhprs_sync_dict_xdb()

9.

10. --退出此连接

11. \c

12.

13. --重新查询,可以得到新的分词结果

14. SELECT to_tsquery('testzhcfg','保障房资金压力')

使用自定义分词的注意事项如下。

1.最多支持1000000条自定义分词,超出部分不做处理,用户必须保证分词数量在这个范围之内。自定义分词与缺省的分词词典将共同产生作用。

2.每个词的最大长度为128字节,超出部分将会截取。

3.通过增删改分词之后必须执行selectzhprs_sync_dict_xdb()并且重新建立连接才会生效。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11887945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存