es搜索优化
1、V1版本:仅做了分词的查询,使用ik分词器ik_max_word
POST /t_sku/_search
{
"size": 10,
"query": {
"bool": {
"match": {
"spu_name": "陕西米脂"
}
}
},
"_source": "spu_name"
}
2、V2版本:
(1)优化后支持前缀搜索,配合权重控制
(2)优化短语查询:phrase查询,查询时可以将短语中词语看成一个整体,本质就是相对位置固定,不像分词的拆分,配合权重,返回结果更靠前,更精准
POST /t_sku/_search
{
"size": 10,
"query": {
"bool": {
"should": [
{
"prefix": {
"spu_name.keyword": {
"value": "陕西米脂",
"boost": 5
}
}
},
{
"match_phrase_prefix": {
"spu_name": {
"query": "陕西米脂",
"boost": 2
}
}
},
{
"match": {
"spu_name": "陕西米脂"
}
}
]
}
},
"_source": "spu_name"
}
V3版本:
扩展match查询能力,支持模糊搜索(添加fuzziness 相关参数从而支持 Fuzzy 模糊匹配)
POST /t_sku/_search
{
"size": 10,
"query": {
"bool": {
"should": [
{
"prefix": {
"spu_name.keyword": {
"value": "陕西眉县",
"boost": 5
}
}
},
{
"match_phrase_prefix": {
"spu_name": {
"query": "陕西眉县",
"boost": 2
}
}
},
{
"match": {
"spu_name": {
"query": "陕西眉县",
"fuzziness": "AUTO",
"max_expansions": 10,
"prefix_length": 2,
"fuzzy_transpositions": true
}
}
}
]
}
},
"_source": "spu_name"
}
V4版本:
查询能力扩展:加上一个 Query String 查询,具备支持通配符和多种查询语法的能力
注意:
因为query_string对任何无效的语法都会返回一个错误,所以我们不建议在搜索框中使用query_string查询。 如果你不需要支持查询语法,可以考虑使用匹配查询。如果你需要查询语法的功能,请使用simple_query_string查询,它没有那么严格。因为它对任何无效的语法都会返回错误,我们不建议在搜索框中使用query_string查询。 如果你不需要支持查询语法,可以考虑使用匹配查询。如果你需要查询语法的功能,请使用simple_query_string查询,它不太严格。
POST /t_sku/_search
{
"size": 10,
"query": {
"bool": {
"should": [
{
"prefix": {
"spu_name.keyword": {
"value": "陕西眉县",
"boost": 5
}
}
},
{
"match_phrase_prefix": {
"spu_name": {
"query": "陕西眉县",
"boost": 2
}
}
},
{
"match": {
"spu_name": {
"query": "陕西眉县",
"fuzziness": "AUTO",
"max_expansions": 10,
"prefix_length": 2,
"fuzzy_transpositions": true
}
}
},
{
"query_string": {
"fields": [
"spu_name",
"spu_name.keyword"
],
"query": "陕西眉县",
"fuzziness": "AUTO",
"fuzzy_prefix_length": 2,
"fuzzy_max_expansions": 10,
"fuzzy_transpositions": true,
"allow_leading_wildcard": false
}
}
]
}
},
"_source": "spu_name"
}
es搜索优化的更多相关文章
- 一次 ElasticSearch 搜索优化
一次 ElasticSearch 搜索优化 1. 环境 ES6.3.2,索引名称 user_v1,5个主分片,每个分片一个副本.分片基本都在11GB左右,GET _cat/shards/user 一共 ...
- 【随笔】Android应用市场搜索优化(ASO)
参考了几篇网上的关于Android应用市场搜索优化(ASO)的分析,总结几点如下: 优化关键字:举例目前美团酒店在各Android市场上的关键字有“美团酒店.钟点房.团购.7天”等等,而酒店类竞对在“ ...
- 针对TianvCms的搜索优化文章源码(无版权, 随便用)
介绍: 搜索优化虽然不是什么高深的技术, 真正实施起来却很繁琐, 后台集成搜索优化的文章可以便于便于管理, 也让新手更明白优化的步奏以及优化的日常. 特点: 根据自己的经验和查阅各种资料整理而成, 相 ...
- seo搜索优化教程09 - seo搜索优化外链优化
为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉科技强势推出seo搜索优化教程.此为seo教程第九课 网络营销推广中有句行话,叫做"内容为王,外链为王",可见外链对于 ...
- seo搜索优化教程10-黑帽SEO
为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉科技强势推出seo搜索优化教程.此为seo教程第十课 学习黑帽SEO并不是教大家如何作弊,而是想让大家避免使用黑帽SEO手法,从而导致被搜 ...
- seo搜索优化教程11-seo搜索优化关键词策略
为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉科技强势推出seo搜索优化教程.此为seo教程第11课 关键词在seo搜索优化中有着重要的地位,本节主要讲解seo搜索优化中关键词优化的相 ...
- seo搜索优化教程12-网站SEO诊断
为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉信息科技强势推出seo搜索优化教程.此为seo教程第12课 行业分析 在搜索引擎中检索自己的站点,在检索结果及相关网站中分析自己在行业内的 ...
- seo搜索优化教程13-SEO搜索引擎站点收录
为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉科技强势推出seo搜索优化教程.此为seo教程第13课 想要用户能够在搜索引擎中通过关键词搜索到您的页面信息,首先要做的是让搜索引擎收录您 ...
- seo搜索优化教程14-seo搜索优化实战
为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉信息科技强势推出seo搜索优化教程.此为seo教程第14课 根据前面学习的seo搜索优化内容,星辉科技进行总结性的分析,形成一份标准的se ...
- seo搜索优化技巧01-seo外链怎么发?
在seo搜索优化中,seo外链的作用并没有早期的作用大了.可是高质量的外链对关键词的排名还是很重要的.星辉信息科技对seo外链怎么发以及seo外链建设中的注意点进行阐述. SEO外链如何做 SEO高质 ...
随机推荐
- Zabbix 配置笔记
Zabbix Server 安装参考 https://www.cnblogs.com/clsn/p/7885990.html 安装脚本 #!/bin/bash #clsn #设置解析 注意:网络条件较 ...
- Function与Object
Function与Object JavaScript中内置了两个顶级对象Function.Object,Object是所有对象的基类,而所有的构造函数同时又是Function对象的实例. Object ...
- 阿里OSS+PicGo+Typora图床设置使用
1.首先下载Typroa和PicGo Typroa地址: 链接:https://pan.baidu.com/s/1M6_5o1PZyaGqOhSb4yvtmA 提取码:a1aj PicGo地址: 链接 ...
- 微信小程序获取本日、本周、本月、本年时间段
原文链接 https://cslaoxu.vip/110.html 说明 最近需要用到统计不同时间段内的记录数,所以找了一下现成的工具类.下面就演示一下如何引用到实际项目中. 详细用法请参考:http ...
- 虚拟机ubuntu配置静态IP
手头搭建了几天虚拟机ubuntu用来做微服务环境的搭建,目前使用的是DHCP分配的网络,每次启动各台服务器的ip都是随机的 管理起来有点乱,所以就要把他们配置成静态的ip.具体操作步骤如下: 我直接用 ...
- 学习go语言编程之网络编程
Socket编程 Golang语言标准库对Socket编程进行了抽象,无论使用什么协议建立什么形式的连接,都只需要调用net.Dial()即可. Dial()函数 Dial()函数的原型如下: fun ...
- 禁用Windows自动更新并允许手动更新
新版的 Windows 经常会自动检查更新,然后在某个夜深人静的晚上帮你自动更新. 对于自动更新,一般的解决方案是直接禁用 Windows 更新服务.这种方式虽然关闭了自动更新,但会影响手动更新.Wi ...
- LibModbus库开发笔记(一):libmodbus库介绍、编译和基础工程模板
前言 本文章讲解libmodbus. libModbus介绍 libmodbus是一个免费软件库,可根据Modbus协议发送/接收数据.该库用C编写,并支持RTU(串行)和TCP(以太网) ...
- 有了这份Java面试中的葵花宝典,让你面试起飞!!!
HashMap面试题 HashMap与HashTable的区别 1.HashMap线程不安全 HashTable 线程是安全的采用synchronized 2.HashMap允许存放key 为null ...
- 《Document-level Relation Extraction as Semantic Segmentation》论文阅读笔记
原文 代码 摘要 本文研究的是文档级关系抽取,即从文档中抽取出多个实体之间的关系.现有的方法主要是基于图或基于Transformer的模型,它们只考虑实体自身的信息,而忽略了关系三元组之间的全局信息. ...