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. 查询的官网的文档 ...
随机推荐
- 【第7篇】TypeScript泛型的案例代码具体解释
8.1最简单泛型样例 Ts代码 /** * 没有泛型,我们要么必须给身份功能的特定类型 */ function identity1(arg: number): number { return arg; ...
- 抽象类(Abstract)和接口的不同点、共同点(Interface)。
同样点: (1) 都能够被继承 (2) 都不能被实例化 (3) 都能够包括方法声明 (4) 派生类必须实现未实现的方法 区 别: (1) 抽象基类能够定义字段.属性.方法实现.接口仅仅能定义属性.索引 ...
- 【POJ 3074】 Sudoku
[题目链接] http://poj.org/problem?id=3074 [算法] 将数独问题转化为精确覆盖问题,用Dancing Links求解 转化方法如下 : 我们知道,在一个数独中 : 1. ...
- Too-Java:Intellij Idea
ylbtech-Too-Java:Intellij Idea IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境.IntelliJ在业界被公认为最好的java开发工具之一,尤 ...
- Cosine Similarity of Two Vectors
#include <iostream>#include <vector>#include <cmath>#include <numeric> templ ...
- 多线程编程和Java网络编程
1. 线程概述 多任务处理有两种类型:基于进程.基于线程(进程是指一种“自包容”的运行程序,有自己的地址空间; 线程是进程内部单一的一个顺序控制流) 基于进程的特点是允许计算机同时运行两个或更多的程序 ...
- Linux下查看操作系统的位数和系统名称版本信息
Linux下如何明确地查看操作系统的位数 如何知晓操作系统是32位还是64位?这里介绍一种简单的方式: [plain] [root@localhost mysql-5.1.57]# getconf L ...
- .net MVC成长记录(四)Linq(1)
今天不忙,没什么事情,继续写写随笔. 之前的文章写到了EF,很多人留言EF的操作用什么? 今天,就继续给大家分享EF的操作, Linq . 先从Linq操作Object内置对象开始 从Linq的基础 ...
- Unity引擎GUI之Button
UGUI Button,可以说是真正的使用最广泛.功能最全面.几乎涵盖任何模块无所不用无所不能的组件,掌握了它的灵巧使用,你就几乎掌握了大半个UGUI! 一.Button组件: Interactabl ...
- mysql 导入数据库时,报错1840的解决方法
1.现象 在mysql用sql文件导入数据库时,提示ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @ ...