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":"长安街天上人间大剧院"}'
completion 查询
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的更多相关文章

  1. Windows ElasticSearch中文分词配置

    elasticsearch官方只提供smartcn这个中文分词插件,效果不是很好,好在国内有medcl大神(国内最早研究es的人之一)写的两个中文分词插件,一个是ik的,一个是mmseg的,下面分别介 ...

  2. Elasticsearch 中文分词(elasticsearch-analysis-ik) 安装

    由于elasticsearch基于lucene,所以天然地就多了许多lucene上的中文分词的支持,比如 IK, Paoding, MMSEG4J等lucene中文分词原理上都能在elasticsea ...

  3. elasticsearch 中文分词(elasticsearch-analysis-ik)安装

    elasticsearch 中文分词(elasticsearch-analysis-ik)安装 下载最新的发布版本 https://github.com/medcl/elasticsearch-ana ...

  4. Elasticsearch中文搜索环境搭建

    Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,功能强大,最近刚好要研究搜索这一块,简要记录备日后查阅 安装Java JDK,由于Lucene是用J ...

  5. ElasticSearch 中文分词搜索环境搭建

    ElasticSearch 是强大的搜索工具,并且是ELK套件的重要组成部分 好记性不如乱笔头,这次是在windows环境下搭建es中文分词搜索测试环境,步骤如下 1.安装jdk1.8,配置好环境变量 ...

  6. ElasticSearch中文分词(IK)

    ElasticSearch常用的很受欢迎的是IK,这里稍微介绍下安装过程及测试过程.   1.ElasticSearch官方分词 自带的中文分词器很弱,可以体检下: [zsz@VS-zsz ~]$ c ...

  7. elasticsearch 中文分词、插件的安装和使用(一)

    1. 安装elasticsearch.kibana.x-pack #安装elasticsearch wget https://artifacts.elastic.co/downloads/elasti ...

  8. elasticsearch中文分词器ik-analyzer安装

    前面我们介绍了Centos安装elasticsearch 6.4.2 教程,elasticsearch内置的分词器对中文不友好,只会一个字一个字的分,无法形成词语,别急,已经有大拿把中文分词器做好了, ...

  9. 【分词器及自定义】Elasticsearch中文分词器及自定义分词器

    中文分词器 在lunix下执行下列命令,可以看到本来应该按照中文”北京大学”来查询结果es将其分拆为”北”,”京”,”大”,”学”四个汉字,这显然不符合我的预期.这是因为Es默认的是英文分词器我需要为 ...

随机推荐

  1. ssh配置详解及公私钥批量分发

    第一:ssh配置文件详解 第二:ssh公私密钥的生成 第三:ssh公钥分发之一:ssh自带工具ssh-copy-id工具分发 第四:ssh公钥分发之二:编写sshpass脚本批量分发 第五:ssh公钥 ...

  2. AtCoder Grand Contest 001 D - Arrays and Palindrome

    题目传送门:https://agc001.contest.atcoder.jp/tasks/agc001_d 题目大意: 现要求你构造两个序列\(a,b\),满足: \(a\)序列中数字总和为\(N\ ...

  3. Reduce实现

    Reduce实现 参考 第一版 Array.prototype.fakeReduce = function (fn, base) { // this 指向原数组 // 拷贝数据, 更改指针方向 var ...

  4. 转 PHP文件上传$_FILES数组各键值含义说明

    文件上传的html表单: <form enctype="multipart/form-data" action="" method="POST& ...

  5. ImageView加载长图(适用不需要缩放的情况)

    此案例适用于加载网络长图且图片的宽和高已知的情况.由于ImageView加载图片有一个4096*4096的限制,所以对于巨长图的加载比较麻烦,需要我们自己去手动处理. 有两种解决方案:第一种就是比较l ...

  6. HDU 4366 Successor 分块做法

    http://acm.hdu.edu.cn/showproblem.php?pid=4366 今日重新做了这题的分块,果然是隔太久了,都忘记了.. 首先,用DFS序变成一维的问题 关键是它有两个权值, ...

  7. spark Listener和metrics实现分析

    在spark内部,rpc可以用来实现不同组件(Driver, executor,client)之间的远程交互.而在同一组件内,spark还有事件监听机制,如spark中各种指标的采集主要就是通过事件监 ...

  8. Apache Cordova

    http://cordova.apache.org/ Apache Cordova is a platformfor building native mobile applications using ...

  9. VS配置本地IIS以域名访问

    1.IIS下配置自己的网站,添加主机名 2.修改hosts文件(C://Windows/System32/drivers/etc) 3.VS中配置项目Web服务器(选择外部主机)

  10. AJPFX总结匿名类及其使用

    匿名类是一种特殊的内部类,它是在一个表达式内部包含一个完整的类定义.内部类是在一个类的内部嵌套定义的类,它可以是其它类的成员也可以在一个语句块的内部定义还可以在表达式内部匿名定义匿名类与其他类的不同就 ...