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. jsp模板配置

    <%-- Created by IntelliJ IDEA. User: ${USER} Date: ${DATE} Time: ${TIME} To change this template ...

  2. HDU5526/BestCoder Round #61 (div.1)1004 Lie 背包DP

    Lie   问题描述 一个年级总共有N个学生,每个人属于唯一一个班级.现在他们站在一排,同班同学并不一定会站在一起,但每个人都会说一句话:“站在我左边的有Ai个同班同学,右边有Bi个同班同学”.然而并 ...

  3. luogu2161 [SHOI2009]会场预约

    题目大意 随着时间的推移这里有几个任务对应着一段区间.每次要将任务安到时间线上时,要把时间线上已有的与该任务对应区间有交集的区间对应的任务删去.求每次删去的区间个数,以及整个时间线上有几个任务.时间线 ...

  4. E20170817-ts

    panel   n. 镶板; 面; (门.墙等上面的) 嵌板; 控制板; inventory n. 清查; 存货清单; 财产目录,财产目录的编制; 存货总值;

  5. myeclipse2014 破解步骤

    1.打开破解文件夹Myeclipse 2014 patch,运行run.bat文件 2.在破解界面中,usercode随便输入, systemid 在右边的SystemId按钮处,点击. 将自动生成一 ...

  6. C#Cookie操作类,删除Cookie,给Cookie赋值

    using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security ...

  7. Go中的main函数和init函数

    Go里面有两个保留的函数:init函数(能够应用于所有的package)和main函数(只能应用于package main).这两个函数在定义时不能有任何的参数和返回值.虽然一个package里面可以 ...

  8. windows和linux无法访问VMware中linux的tomcat主页问题

    1.一定确定自己的tomcat服务器是启动的.(为了确保保险可以在测试前重新shutdown,startup一次) 2.确定自己访问的ip地址和端口号是正确的 如果是VMware外部windows的话 ...

  9. Android 打开设置界面或者WiFi连接界面

    1.使用APP打开系统的设置界面或者WiFi连接界面 startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); //直接进入手机中的wifi网 ...

  10. OpenCv: 二维坐标的旋转方程

    1. 可以写成一个矩阵的形式,也可以写成向量的形式: b 为选转角度加pi/2 x1 = x cos(b) - ysin(b) ;  y1 = x sin(b) + y cos(b).