网站首页 > 博客文章 正文
作为目前最受欢迎的查询引擎,Elasticsearch 用户众多,深受大家的喜爱。
Elasticsearch 是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch 在 Apache Lucene 的基础上开发而成
今天我们翻翻官方文档,看看都有哪些查询DSL
- 全文查询(full text query)
这也是elasticsearch 不同于传统关系型数据库的能力,也是它的魅力所在,即支持全文查询。
支持如下几种查询:
- match
- match phrase
- match phrase prefix
- multi match
- common terms
- query string
- simple query string
通常全文查询查询的是”文本“字段, 一般我们要配置合适的分词器(Analyzer)
- 词条查询(term level query)
支持如下几种查询:
- term
- terms
- terms set
- range
- exists
- prefix
- wildcard
- regexp
- fuzzy
- type
- ids
通常这里的查询是不配置 analyzer 的,更像是传统数据库的 = , between 等查询
- 复合查询(compound queries)
支持如下几种查询:
- constant score
- function score
- dis_max
- boosting
- bool
- must
- filter
- should
- must not
这里的查询是我们几乎必用的,考虑到性能和充分利用缓存,一般都是建议将查询嵌套起来;
另外可以编写脚本,实现自定义的打分工作
- 嵌套查询(joining query)
主要有: nested / has_child / has_parent
- 地理位置查询 (geo query)
- geo_shape
- geo_bounding_box
- geo_distance
- geo_polygon
- 其他
这里主要放一些没法分类的查询:
- more_like_this
- match_all
- match_none
- script
- percolate
- wrapper
- minimum_should_match
最后,基于字符 span , elasticsearch 有一套我们几乎不会用的查询语法,即 span 查询, 了解即可。
以上这么多查询,我们真正在项目中需要牢牢掌握的,仍然只是其中的一小部分。
熟练掌握常用的,有需求是查询手册才是正确的学习方法。
最后放上一张个人整理的思维导图,喜欢就拿走吧。
- 上一篇: DSL文档查询(文档查询系统)
- 下一篇: Elasticsearch不会DSL没事,来试试SQL吧
猜你喜欢
- 2024-10-24 持久层框架JPA与Mybatis该如何选型
- 2024-10-24 hibatis--mybatis,自动生成SQL, 通用Mapper, 通用Dao
- 2024-10-24 Elasticsearch 6.0.0官方参考指南翻译
- 2024-10-24 推荐一个高效美观易用的服务器运维工具
- 2024-10-24 Java 操作之RestHighLevelClient查询详解
- 2024-10-24 如何在 Elasticsearch 上应用机器学习排序插件
- 2024-10-24 「开源资讯」Apache Solr 8.6.0 发布,Java 全文搜索服务器
- 2024-10-24 最轻量级的Kubernetes云原生日志框架Loki
- 2024-10-24 ElasticSearch学习系列 - (3) Python操作es
- 2024-10-24 全功能orm工具sorms 1.0.10 发布,合使用Spring,Spring boot用户
你 发表评论:
欢迎- 08-06nginx 反向代理
- 08-06跨表插入连续的日期,sheetsname函数#excel技巧
- 08-06初中生也能学的编程,不走弯路,先用后学
- 08-06find命令的“七种武器”:远不止-name和-type
- 08-06恶意代码常见的编程方式
- 08-06kali2021ping 外网不通
- 08-06因为一个函数strtok踩坑,我被老工程师无情嘲笑了
- 08-06hadoop集群搭建详细方法
- 49℃nginx 反向代理
- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- powershellfor (73)
- messagesource (71)
- plsql64位 (73)
- vueproxytable (64)
- npminstallsave (63)
- #NAME? (61)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- nacos启动失败 (64)
- ssh-add (70)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)