Completion Suggester

智能提示

{
"settings": { },
"mappings": {
"doc": {
"properties": {
"productName": {
"type" : "text",
"analyzer":"ik_max_word"
},
"productNameSuggester":{
"type" : "completion",//智能提示字段
"search_analyzer":"ik_max_word",//搜索使用分词默认跟索引一直
"analyzer":"ik_max_word",//索引分词
"max_input_length":50,//提示字段长度 如果为2 雪花啤酒 输入雪 提示雪花 输入雪花 也提示雪花
"preserve_separators":true,//默认值 如果希望Foo Fighters 输入foof能提示的话则改为false
"preserve_position_increments":true //启用停用分词器
}
}
}
} }

插入数据

{
"productName":"雪花纯生8度500ml统一标准专用白瓶1*6纸箱手提",
"productNameSuggester":"雪花纯生8度500ml统一标准专用白瓶1*6纸箱手提"
}
{
"productName":"雪花勇闯天涯普啤8度500ml白瓶1*12纸箱活动版",
"productNameSuggester":"雪花勇闯天涯普啤8度500ml白瓶1*12纸箱活动版"
}

post请求:http://127.0.0.1:9200/custom/doc/_search

{
"_source":false,// ["productNameSuggester","productName"] 不返回_source
"suggest": {
"my-suggest-1": {
"text": "雪",//用户输入文本
"completion": {
"field": "productNameSuggester",//字段
"size": 2,//显示条数
 "skip_duplicates": true//建议去重
}
}
}
}

返回结果

{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 0,
"max_score": 0,
"hits": []
},
"suggest": {
"my-suggest-1": [
{
"text": "雪",
"offset": 0,
"length": 1,
"options": [
{
"text": "雪花勇闯天涯普啤8度500ml白瓶1*12纸箱活动版",
"_index": "custom",
"_type": "doc",
"_id": "1",
"_score": 1
},
{
"text": "雪花纯生8度500ml统一标准专用白瓶1*6纸箱手提",
"_index": "custom",
"_type": "doc",
"_id": "2",
"_score": 1
}
]
}
]
}
}

设置权重

input为保存的值 weight为权重(_score)如果是数组使用[{"input":""},{"input":""}]

{
"productName":"雪花纯生8度500ml统一标准专用白瓶1*6纸箱手提",
"productNameSuggester":{"input":"雪花纯生8度500ml统一标准专用白瓶1*6纸箱手提","weight" : 34}
}

elasticsearch Suggester实现搜索建议(八)的更多相关文章

  1. flask实现基于elasticsearch的关键词搜索建议

    1.实现效果 2.fuzzy模糊查询和suggest查询 fuzzy模糊查询 GET chaxun/job/_search { "query": { "fuzzy&quo ...

  2. Elasticsearch suggester搜索建议初步

    环境 Elasticsearch 2.3.5 Elasticsearch-ik-plugin 实现 搜索建议的对象 假设有以下两个json对象,需要对其中tags字段进行搜索建议: //对象Produ ...

  3. solr入门之搜索建议的几种实现方式和最终选取实现思路

    上篇博客中我简单的讲了下solr自身的suggest模块来实现搜索建议.但是今天研究了下在solr自身的suggest中添加进去拼音来智能推荐时不时很方便.在次从网上搜集和整理思考了下该问题的解决. ...

  4. Python 和 Elasticsearch 构建简易搜索

    Python 和 Elasticsearch 构建简易搜索 作者:白宁超 2019年5月24日17:22:41 导读:件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正 ...

  5. 笔记13:Python 和 Elasticsearch 构建简易搜索

    Python 和 Elasticsearch 构建简易搜索 1 ES基本介绍 概念介绍 Elasticsearch是一个基于Lucene库的搜索引擎.它提供了一个分布式.支持多租户的全文搜索引擎,它可 ...

  6. Elasticsearch(2) 数据搜索

    本文介绍如何在Elasticsearch中对数据进行搜索. 1.简述 在Elasticsearch中的搜索中,有两类搜索: queries aggregations 区别在于:query可以进行全文搜 ...

  7. 各大搜索引擎智能提示API(JSONP跨域实现自动补全搜索建议)

    ---------------------------------------搜索引擎JSONP接口--------------------------------------------- 提示:U ...

  8. AJAX实现google搜索建议实战

    搜索建议实战的目标是为了输入搜索内容,动态的进行匹配,效果图如下: 整体思路: 在客户端搜索框中触发onkeyup事件, 随时向PHP服务器请求当前输入框中的内容, PHP服务器获取到keywords ...

  9. elasticsearch的rest搜索--- 查询

    目录: 一.针对这次装B 的解释 二.下载,安装插件elasticsearch-1.7.0   三.索引的mapping 四. 查询 五.对于相关度的大牛的文档 四. 查询 1. 查询的官网的文档   ...

随机推荐

  1. linux(centos)下安装git并上传代码些许步骤(亲自验证过的步骤)

     曾经听说了好多次github,但直到近期才第一次学习使用github来托管自己在linux下的代码! 说实话.我自己在使用的时候从网上查了好多教程.但总认为难以掌握(步骤过于繁琐),自己操作的时候还 ...

  2. hdu 2602(经典01背包)

    Bone Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  3. .Net Core项目上Azure Docker云

    1.找到创建资源-容器-Container Instances 2.安装模板,填写私有映像表的相关信息 3.创建成功,运行测试.

  4. [Swift]实现优先队列PriorityQueue

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  5. LocalDateTime相关处理,得到零点以及24点值,最近五分钟点位,与Date互转,时间格式

    最近一直使用LocalDateTime,老是忘记怎么转换,仅此记录一下 import java.time.Instant; import java.time.LocalDateTime; import ...

  6. 如何对HTMLTestRunner 进行输出print 进行修改

    在 HTMLTestRunner 模块中,在运行代码后,在输入的html页面值出现了特别简单的一个页面,那么现在如何将HTML页面中输出的更多print 在 HTMLTestRunner.py文件中查 ...

  7. python重定向原理及实例

    1. 前言 为了在Python编程中, 利用控制台信息, 我们需要对控制台输出进行接管(重定向).在Python中,控制台输出的接口是sys.stdout,通过分析print与sys.stdout之间 ...

  8. Blender之Property

    目标 [x] 总结Blender插件之属性bpy.props 总结 bpy.props bpy.props模块用来扩展Blender内置数据的属性. 这些函数的结果用于为用Blender注册的类分配属 ...

  9. Quartz 表达式的学习

    只记录用到过的,不全面 Quartz版本:quartz-all-1.6.0.jar 先看图 其他示例: 0 5,6,13 * * ? 意义:每日5:00,6:00,13:00 被触发 0 10,30 ...

  10. 实例化vue发生了什么(详解vue生命周期)

    const app = new Vue({ el:"#app', data:{ message:'hello,lifePeriod' }, methods:{ init(){ console ...