Elasticsearch学习--查询(prefix、wildcard、regexp、fuzzy)
一、前缀搜索 prefix
- 不计算相关度评分
- 性能较差
- 前缀搜索匹配的是分词后的词项
- 前缀搜索没有缓存
- 前缀搜索尽可能把前缀长度设置的更长
GET product/_search
{"query": {"fuzzy": {"name": {"value": "product1"}}}
}
index_prefixes为词项创建倒排索引,
比如computer这个单词,本身是一个词项,index_prefixes可以为这个单词再创建倒排索引,min_chars=2,max_chars=5的话,创建的索引:co、com、comp、compu
PUT prefixindex
{"mappings": {"properties": {"name": {"type": "text","analyzer": "ik_max_word","index_prefixes": {"min_chars": 2,"max_chars": 3}}}}
}
优缺点:
优点:加快前缀索引的搜索效率
缺点:占用内存、空间
二、通配符 wildcard
匹配的也是分词后的词项term
# 造数据
PUT testindex/_doc/1
{"name":"zhang san"
}PUT testindex/_doc/2
{"name":"zhang si"
}PUT testindex/_doc/3
{"name":"zhuang san"
}PUT testindex/_doc/4
{"name":"zhuang si"
}
# 用法
GET testindex/_search
{"query": {"wildcard": {"name": {"value": "*san"}}}
}
* 数组中的每个值都是精准值
三、正则 regexp
1. 用法
GET testindex/_search
{"query": {"regexp": {"name": ".*san"}}
}
2. flags参数含义
四、模糊查询 fuzzy
1. 情况
1)混淆字符(box->fox)
2) 缺少字符(black->lack)
3) 多出字符(sic -> sick)
4) 颠倒次序(act-> cat)
2. 用法
GET testindex/_search
{"query": {"fuzzy": {"name": "xiaolahu"}}
}
3. 参数
编辑距离:把字符改成正确的,需要挪到的次数
GET testindex/_search
{"query": {"fuzzy": {"name": {"value": "xiaoloahu","fuzziness": 1,"transpositions":false}}}
}
fuzziness, 默认是auto,根据字符串长度,从0,1,2取值
4. match查询也支持fuzziness
GET testindex/_search
{"query": {"match": {"name": {"query":"xiaoloahu","fuzziness": 1}}}
}
match是分词的,fuzzy是不分词的
fuzzy不适合数据量大时使用
Elasticsearch学习--查询(prefix、wildcard、regexp、fuzzy)相关推荐
- wildcard java_java操作elasticsearch实现前缀查询、wildcard、fuzzy模糊查询、ids查询
1.前缀查询(prefix) //prefix前缀查询 @Testpublic void test15() throwsUnknownHostException {//1.指定es集群 cluster ...
- java操作elasticsearch实现前缀查询、wildcard、fuzzy模糊查询、ids查询
1.前缀查询(prefix) //prefix前缀查询 @Testpublic void test15() throws UnknownHostException {//1.指定es集群 cluste ...
- elasticsearch各种查询
一.Windows下logstash的安装 1.下载地址为:https://www.elastic.co/downloads/logstash ,下载与ES版本一致 2.解压 3.在bin文件夹下创建 ...
- Elasticsearch学习(四) - 查询①
title: Elasticsearch学习(四)-查询① date: 2020-10-29 tags: Elasticsearch Elasticsearch学习(四)-查询① categories ...
- ElasticSearch学习总结(三):查询总结
ElasticSearch学习总结(三):查询总结 本文主要对Elasticsearch中查询相关的知识做一个简单的总结,内容主要包括查询的评分机制,查询改写,过滤器,以及对常见的查询做一个简单的分类 ...
- ElasticSearch 高级查询语法
ElasticSearch 高级查询语法Query DSL ES倒排索引 ES高级查询Query DSL 查询所有 match_all 分页查询form 深分页查询Scroll 指定字段排序sort ...
- Elasticsearch _search查询参数及过滤
笔记源自 : Elastic 中国社区官方博客 文章目录 GET /_search 简单搜索 Ids 指定Id值查询 Prefix 以特定前缀开头 Term 精确匹配值 Terms多字段匹配 Term ...
- Elasticsearch学习---Query DSL基本操作
版本说明 本文基于Elasticsearch6.4.0版本 关于DSL DSL是Elasticsearch提供的一种基于JSON格式的查询方式. 演示数据 mapping映射 {"emp&q ...
- ElasticSearch学习----ElasticSearch中高级检索(Query)
ElasticSearch中高级检索 ①. 检索方式 _search ②. URL检索 ②. DSL检索 1. 查询所有(match_all) 2. 查询结果中返回指定条数(size) 3. 分页查询 ...
最新文章
- 科研找到属于自己的思想
- 第十、十一周项目一-点-圆-圆柱类族的设计(3)
- 高通thermal-engine配置文件格式
- 一行Python代码
- WPF ClickOnce应用程序IIS部署发布攻略
- 数学图形(2.18)Hyperbolical conical spiral双曲圆锥螺线
- 第十三期:消灭 Java 代码的“坏味道”
- linux下的malloc申请的是虚拟还是物理的,关于malloc申请内存
- GitHub的SSH免密连接
- 线上python课程一般多少钱-学习Python这门课程大概需要多久?费用是多少?
- cpc专利电子申请客户端安装教程以及常见错误
- 快速更换证件照背景颜色
- 360锁屏壁纸超级好看,于是想保存下来。
- libxml2的参考手册
- build.sh脚本
- 你是哪种类型的代码斗士
- unity3d四元数和旋转矩阵
- 由配置Rabbitmq多virtual_host失效认识@Qualifier
- android 文件管理器下载,ES文件管理器下载
- Android各版本分布
热门文章
- 一个女测试工程师的成长之路
- 关于调整互联网、电话订票起售时间的公告
- 公交管理系统的设计与实现
- VTK Actor ImageData polyData,Transform 平移,旋转
- win10 的计算机配置要求,win10的最低要求配置是什么_windows10系统最低电脑配置要求多少...
- nvcc fatal : No input files specified; use option --help for more information
- unity3d/用户自由改变背景色
- 虚拟机安装未开启虚拟化
- Wireshark基础使用,SSL解密及http抓包入门教程
- 阿里云栖大会的现场,到底是个什么样?