如何运用强大的 ElasticSearch 核心 DSL

本文详细介绍了ElasticSearch的DSL查询,包括字段含义、Phrase查询、Term查询、范围查询等内容。强调了Term查询与Match查询的区别,以及Text字段与Keyword字段的使用场景。通过实例展示了如何进行精确查询和范围查询,帮助读者更好地理解和应用DSL。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DSL 介绍

Query DSL(Domain Specific Language)又叫做查询表达式,是一种丰富的、灵活的、强大的全文本与结构化查询语言,基于 JSON 格式对数据进行检索。前面我们介绍了简单的 ES 查询,但是对于更负责的需求使用 URL 查询显得有些困难,ES 提供了 DSL 查询,使用 DSL 表达式基本上满足各种负责的业务需求,DSL 可以与数据库提供的 SQL 进行类别,有了 SQL 各种查询都可以在数据库中实现,而不用把查询计算逻辑放到业务代码中去。

ES 的查询有两种查询与过滤,ES 的查询涉及到一个重要的概念就是相关性分数,这个分数在 ES 查询结果中 _score 字段中体现出来。像你在 Google 或者百度中查询资料时候,往往是以一种推荐的方式返回查询结果给你,并且有顺序的,排在前面的往往是与你查询问题最接近的内容,这里面就涉及到一个相关性分数,查询的每个结果都有一个相关性分数。

另外还有一种查询方式叫做过滤,过滤的查询结果中是不带有相关性分数的,因为有的时候我们只关注有或者没有,显而易见,不带有相关性分数的少了一层计算相关性分数的过程,那么自然计算速度会比较快。

第一个 DSL 查询,查询索引为 class 的所有数据。

GET class/_search
{
  "query": {
    &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值