elasticsearch Suggester实现搜索建议(八)
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实现搜索建议(八)的更多相关文章
- flask实现基于elasticsearch的关键词搜索建议
1.实现效果 2.fuzzy模糊查询和suggest查询 fuzzy模糊查询 GET chaxun/job/_search { "query": { "fuzzy&quo ...
- Elasticsearch suggester搜索建议初步
环境 Elasticsearch 2.3.5 Elasticsearch-ik-plugin 实现 搜索建议的对象 假设有以下两个json对象,需要对其中tags字段进行搜索建议: //对象Produ ...
- solr入门之搜索建议的几种实现方式和最终选取实现思路
上篇博客中我简单的讲了下solr自身的suggest模块来实现搜索建议.但是今天研究了下在solr自身的suggest中添加进去拼音来智能推荐时不时很方便.在次从网上搜集和整理思考了下该问题的解决. ...
- Python 和 Elasticsearch 构建简易搜索
Python 和 Elasticsearch 构建简易搜索 作者:白宁超 2019年5月24日17:22:41 导读:件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正 ...
- 笔记13:Python 和 Elasticsearch 构建简易搜索
Python 和 Elasticsearch 构建简易搜索 1 ES基本介绍 概念介绍 Elasticsearch是一个基于Lucene库的搜索引擎.它提供了一个分布式.支持多租户的全文搜索引擎,它可 ...
- Elasticsearch(2) 数据搜索
本文介绍如何在Elasticsearch中对数据进行搜索. 1.简述 在Elasticsearch中的搜索中,有两类搜索: queries aggregations 区别在于:query可以进行全文搜 ...
- 各大搜索引擎智能提示API(JSONP跨域实现自动补全搜索建议)
---------------------------------------搜索引擎JSONP接口--------------------------------------------- 提示:U ...
- AJAX实现google搜索建议实战
搜索建议实战的目标是为了输入搜索内容,动态的进行匹配,效果图如下: 整体思路: 在客户端搜索框中触发onkeyup事件, 随时向PHP服务器请求当前输入框中的内容, PHP服务器获取到keywords ...
- elasticsearch的rest搜索--- 查询
目录: 一.针对这次装B 的解释 二.下载,安装插件elasticsearch-1.7.0 三.索引的mapping 四. 查询 五.对于相关度的大牛的文档 四. 查询 1. 查询的官网的文档 ...
随机推荐
- 倒排索引PForDelta压缩算法——基本假设和霍夫曼压缩同
PForDelta算法 PForDelta算法最早由Heman在2005年提出,它允许同时对整个chunk数据(例128个数)进行压缩处理.基础思想是对于一个chunk的数列(例128个),认为其中占 ...
- C 非标准库(conio.h)
所谓的 C 标准库(C standard library),是指在 ISO C 或者 POSIX 标准中定义的: POSIX is a superset(超集) of the standard C l ...
- 动态规划---区间dp
今天写内网题,连着写了两道区间dp,这里就总结一下. 区间dp思想主要是先枚举f[i][j]中的i,再枚举j,再枚举一个1~j之间的变量k,一般是f[i][j] = max(f[i][j],f[i][ ...
- vim gvim技巧大全(9)(转载)
vim gvim技巧大全(9) 2 用命令}移动到这个段落的底部,标记为b3 输入命令:'a,'b move来移动文本.老版本的Vi编辑器不能很好的来处理多文件.但是Vim在处理多文件上却显得优秀得多 ...
- golang闭包,传统斐波那契
package main import ( "fmt") func main() { f := fibonacci() for i := 0; i < 10 ...
- C - Alice, Bob and Chocolate(贪心)
Problem description Alice and Bob like games. And now they are ready to start a new game. They have ...
- 禁止tomcat扫描jar包的tld文件
禁止tomcat扫描jar包的tld文件tomcat/conf/logging.properties 取消注释org.apache.jasper.compiler.TldLocationsCache. ...
- java实现读取yaml文件,并获取值
首先在项目src目录下新建一个test.yaml的文件. 代码如下: spring: application: name: cruncher datasource: driverClassName: ...
- C# 多线程系列(四)
Parallel类 Parallel类定义了for.foreach和invoke的静态方法.Parallel类使用多个任务,因此使用多个线程来完成这个作业. Parallel.For Parallel ...
- Unity引擎GUI之Text
Text 文本 要显示的字符串. Font 字体 Font Style 加粗与倾斜 Font Size 字体大小 Line Spacing 行距,文本行之间的间距 Rich Text 勾选后,想要单独 ...