网站首页 > 博客文章 正文
作为目前最受欢迎的查询引擎,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用户
你 发表评论:
欢迎- 05-30springboot 集成redisson 以及分布式锁的使用
- 05-30去哪儿技术面:10亿数据如何最快速插入MySQL?
- 05-30redis介绍
- 05-30redission YYDS
- 05-30手把手教你springboot集成mybatis
- 05-30mybatis根据表逆向自动化生成代码:自动生成实体类、mapper文件
- 05-30越来越大的微信小程序
- 05-30SpringBoot之数据访问——访问SQL数据库!
- 422℃用AI Agent治理微服务的复杂性问题|QCon
- 420℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 401℃初次使用IntelliJ IDEA新建Maven项目
- 400℃Maven技术方案最全手册(mavena)
- 394℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 389℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 389℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 384℃IT全明星|IntelliJ IDEA学习笔记(四、idea中怎么创建maven项目)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)