标签:end 同义词 start token elasticsearch offset position type
1、同义词词库
准备一个同义词文件,每行一个同义词词组,例子sku_synonym.txt:
西红柿,番茄,tomato =>西红柿,番茄
马铃薯,土豆 =>马铃薯,土豆
社保,公积金 =>社保,公积金
注意:编码 UTF-8 (很关键!!!我就是被坑在这里)
2、上传同义词文件
上传同义词文件,点击此文档
创建索引时需要配置settings和mapping,并且需要在settings中配置"synonyms_path": "analysis/your_dict_name.txt"。
词库位置:analysis/sku_synonym.txt
3、配置分析器
delete sku_syno PUT sku_syno { "settings": { "analysis": { "filter": { "my_synonym_filter": { "type": "synonym", "synonyms_path" : "analysis/sku_synonym.txt" } }, "analyzer": { "my_synonyms": { "tokenizer": "ik_smart", "filter": [ "lowercase", "my_synonym_filter" ] } } } } }
4、分词效果测试
GET /sku_syno/_analyze { "text":"我爱吃土豆社保番茄", "analyzer": "my_synonyms" }
演示效果:
{ "tokens" : [ { "token" : "我", "start_offset" : 0, "end_offset" : 1, "type" : "CN_CHAR", "position" : 0 }, { "token" : "爱吃", "start_offset" : 1, "end_offset" : 3, "type" : "CN_WORD", "position" : 1 }, { "token" : "马铃薯", "start_offset" : 3, "end_offset" : 5, "type" : "SYNONYM", "position" : 2 }, { "token" : "土豆", "start_offset" : 3, "end_offset" : 5, "type" : "SYNONYM", "position" : 2 }, { "token" : "社保", "start_offset" : 5, "end_offset" : 7, "type" : "SYNONYM", "position" : 3 }, { "token" : "公积金", "start_offset" : 5, "end_offset" : 7, "type" : "SYNONYM", "position" : 3 }, { "token" : "西红柿", "start_offset" : 7, "end_offset" : 9, "type" : "SYNONYM", "position" : 4 }, { "token" : "番茄", "start_offset" : 7, "end_offset" : 9, "type" : "SYNONYM", "position" : 4 } ] }
标签:end,同义词,start,token,elasticsearch,offset,position,type 来源: https://www.cnblogs.com/linjiqin/p/16554179.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。