一、前缀搜索 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)相关推荐

  1. wildcard java_java操作elasticsearch实现前缀查询、wildcard、fuzzy模糊查询、ids查询

    1.前缀查询(prefix) //prefix前缀查询 @Testpublic void test15() throwsUnknownHostException {//1.指定es集群 cluster ...

  2. java操作elasticsearch实现前缀查询、wildcard、fuzzy模糊查询、ids查询

    1.前缀查询(prefix) //prefix前缀查询 @Testpublic void test15() throws UnknownHostException {//1.指定es集群 cluste ...

  3. elasticsearch各种查询

    一.Windows下logstash的安装 1.下载地址为:https://www.elastic.co/downloads/logstash ,下载与ES版本一致 2.解压 3.在bin文件夹下创建 ...

  4. Elasticsearch学习(四) - 查询①

    title: Elasticsearch学习(四)-查询① date: 2020-10-29 tags: Elasticsearch Elasticsearch学习(四)-查询① categories ...

  5. ElasticSearch学习总结(三):查询总结

    ElasticSearch学习总结(三):查询总结 本文主要对Elasticsearch中查询相关的知识做一个简单的总结,内容主要包括查询的评分机制,查询改写,过滤器,以及对常见的查询做一个简单的分类 ...

  6. ElasticSearch 高级查询语法

    ElasticSearch 高级查询语法Query DSL ES倒排索引 ES高级查询Query DSL 查询所有 match_all 分页查询form 深分页查询Scroll 指定字段排序sort ...

  7. Elasticsearch _search查询参数及过滤

    笔记源自 : Elastic 中国社区官方博客 文章目录 GET /_search 简单搜索 Ids 指定Id值查询 Prefix 以特定前缀开头 Term 精确匹配值 Terms多字段匹配 Term ...

  8. Elasticsearch学习---Query DSL基本操作

    版本说明 本文基于Elasticsearch6.4.0版本 关于DSL DSL是Elasticsearch提供的一种基于JSON格式的查询方式. 演示数据 mapping映射 {"emp&q ...

  9. ElasticSearch学习----ElasticSearch中高级检索(Query)

    ElasticSearch中高级检索 ①. 检索方式 _search ②. URL检索 ②. DSL检索 1. 查询所有(match_all) 2. 查询结果中返回指定条数(size) 3. 分页查询 ...

最新文章

  1. 科研找到属于自己的思想
  2. 第十、十一周项目一-点-圆-圆柱类族的设计(3)
  3. 高通thermal-engine配置文件格式
  4. 一行Python代码
  5. WPF ClickOnce应用程序IIS部署发布攻略
  6. 数学图形(2.18)Hyperbolical conical spiral双曲圆锥螺线
  7. 第十三期:消灭 Java 代码的“坏味道”
  8. linux下的malloc申请的是虚拟还是物理的,关于malloc申请内存
  9. GitHub的SSH免密连接
  10. 线上python课程一般多少钱-学习Python这门课程大概需要多久?费用是多少?
  11. cpc专利电子申请客户端安装教程以及常见错误
  12. 快速更换证件照背景颜色
  13. 360锁屏壁纸超级好看,于是想保存下来。
  14. libxml2的参考手册
  15. build.sh脚本
  16. 你是哪种类型的代码斗士
  17. unity3d四元数和旋转矩阵
  18. 由配置Rabbitmq多virtual_host失效认识@Qualifier
  19. android 文件管理器下载,ES文件管理器下载
  20. Android各版本分布

热门文章

  1. 一个女测试工程师的成长之路
  2. 关于调整互联网、电话订票起售时间的公告
  3. 公交管理系统的设计与实现
  4. VTK Actor ImageData polyData,Transform 平移,旋转
  5. win10 的计算机配置要求,win10的最低要求配置是什么_windows10系统最低电脑配置要求多少...
  6. nvcc fatal : No input files specified; use option --help for more information
  7. unity3d/用户自由改变背景色
  8. 虚拟机安装未开启虚拟化
  9. Wireshark基础使用,SSL解密及http抓包入门教程
  10. 阿里云栖大会的现场,到底是个什么样?