码迷,mamicode.com
首页 > 其他好文 > 详细

elasticsearch 中文 term & completion suggester

时间:2018-06-13 17:22:35      阅读:727      评论:0      收藏:0      [点我收藏+]

标签:默认   lse   imp   core   strong   search   结果   创建   col   

 

Term suggester

创建索引
curl -XPUT ‘http://172.16.125.136:9200/term?pretty‘
创建 mapping
curl -XPOST http://172.16.125.136:9200/term/suggester/_mapping -H ‘Content-Type:application/json‘ -d ‘{"properties":{"body":{"type":"text","analyzer":"ik_smart","search_analyzer":"ik_smart"}}}‘
push 数据
curl -XPOST http://172.16.125.136:9200/term/suggester/1 -H ‘Content-Type:application/json‘ -d ‘{"body":"长安街大饭店"}‘
curl -XPOST http://172.16.125.136:9200/term/suggester/2 -H ‘Content-Type:application/json‘ -d ‘{"body":"长安街天上人间大剧院"}‘
term 查询
curl -XPOST http://172.16.125.136:9200/term/suggester/_search -H ‘Content-Type:application/json‘ -d ‘{"suggest":{"my_suggester":{"text":"长安城天上大剧院","term":{"field":"body","suggest_mode":"always","min_word_length":2}}}}‘

 

{"took":12,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":0,"max_score":0.0,"hits":[]},"suggest":{"didyoumean":[{"text":"长安城","offset":0,"length":3,"options":[{"text":"长安街","score":0.6666666,"freq":2}]},{"text":"天上","offset":3,"length":2,"options":[]},{"text":"大","offset":5,"length":1,"options":[]},{"text":"剧院","offset":6,"length":2,"options":[]}]}}

注意:

  • term 查询中min_word_length 参数,这个参数默认值4,如果不设置这个参数返回结果会为空,详细参考官方文档

  • mapping 不能使用 ik_max_word

Completion Suggester

创建索引
curl -XPUT ‘http://172.16.125.139:9200/completion?pretty‘
创建 mapping
curl -XPOST http://172.16.125.139:9200/completion/suggester/_mapping -H ‘Content-Type:application/json‘ -d ‘{"properties":{"body":{"type":"completion"}}}‘
push 数据
curl -XPOST http://172.16.125.139:9200/completion/suggester/1 -H ‘Content-Type:application/json‘ -d ‘{"body":"长安街大饭店"}‘
curl -XPOST http://172.16.125.139:9200/completion/suggester/2 -H ‘Content-Type:application/json‘ -d ‘{"body":"长安街天上人间大剧院"}‘
term 查询
curl -XPOST http://172.16.125.139:9200/completion/suggester/_search -H ‘Content-Type:application/json‘ -d ‘{"suggest":{"my_suggester":{"prefix":"长安街","completion":{"field":"body"}}}}‘

注意

  • 创建 mapping 的时候使用的 simple analyzer,如果是其它的可能会有一些默认处理(比如 engligh 过滤停用词)

elasticsearch 中文 term & completion suggester

标签:默认   lse   imp   core   strong   search   结果   创建   col   

原文地址:https://www.cnblogs.com/shanguanghui/p/9178623.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!