Elasticsearch 8.1官网文档梳理 - 十四、Query DSL(ES 查询语法)

Query DSL

Elasticsearch 提供了一种基于JSON 的查询 DSL (Domain Specific Language) 来定义查询。可以把查询 DSL 看作是查询的 AST(Abstract Syntax Tree),由两种类型的子句组成:

叶子节点查询: 叶子查询子句在特定字段中查找特定值,例如 matchtermrange 查询。这类查询可以单独使用
复合查询子句: 复合查询可以包裹 叶子节点查询 或者 复合查询子句,用于组合多个查询( booldis_max)或改变查询行为(constant_score)。

一、Query and filter context

分别描述了什么是 相关性评分(Relevance scores)、相关性查询(Query context)、过滤查询(Filter context)

Filter context:

  • bool 中的 filtermust_not
  • constant_score 中的 filter
  • filter 聚合

二、Compound queries

复合查询

2.1 Boolean

用于组合 mustshouldmust_notfilter,查询,其中 mustshould 作为相关性查询,must_notfilter 作为过滤查询,不参与评分

2.2 Boosting

调整 相关性评分的查询,不调整 positive 匹配文档的评分,降低 negative 匹配文档的评分降低倍数 由 negative_boost [0 -1.0]参数决定

2.3 Constant score

通过 constant_score 查询返回的文档都具有相同的评分,评分为 boost 所给定的值

GET /_search
{
  "query": {
    "constant_score": {
      "filter": {
        "term": { "user.id": "kimchy" }
      },
      "boost": 1.2
    }
  }
}
2.4 Disjunction max

queries 中包含多个查询,取其中 最高的相关性评分 评分作为文档的相关性评分,或取 最高的相关性评分 加上 其他经过调整的查询结果的相关性评分 作为文档的相关性评分。

queries: 包含多个查询字句,返回的文档匹配一个或多个查询字句
tie_breaker: 调整除 最高的相关性评分 以外的其他相关性评分的系数

2.5 Function score

使用 function_score 可以修改查询检索到的文档的得分。

三、Full text queries

Geo queries

Shape queries

Joining queries

Match all

Span queries

Specialized queries

Term-level queries

minimum_should_match parameter

rewrite parameter

Regular expression syntax

相关推荐

  1. Elasticsearch 8.1文档梳理 -综述

    2024-05-16 09:54:09       27 阅读
  2. ReactHooks 文档翻译

    2024-05-16 09:54:09       42 阅读
  3. Elasticsearch 查询语法

    2024-05-16 09:54:09       61 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-16 09:54:09       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-16 09:54:09       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-16 09:54:09       82 阅读
  4. Python语言-面向对象

    2024-05-16 09:54:09       91 阅读

热门阅读

  1. Spring Batch 是什么?主要用于什么场景?

    2024-05-16 09:54:09       30 阅读
  2. Gateway基本配置的参数以及yml示例

    2024-05-16 09:54:09       35 阅读
  3. error in ./src/assets/css/element-variables.scss

    2024-05-16 09:54:09       32 阅读
  4. matlab实现马尔科夫链

    2024-05-16 09:54:09       37 阅读
  5. SpringBoot自定义Starter

    2024-05-16 09:54:09       33 阅读
  6. lambda函数(匿名函数)的使用

    2024-05-16 09:54:09       35 阅读
  7. 在本地设备上配置 Git 忽略特定文件

    2024-05-16 09:54:09       34 阅读
  8. 解释 Git 的基本概念和使用方式。

    2024-05-16 09:54:09       30 阅读
  9. 51 单片机[2-3]:LED流水灯

    2024-05-16 09:54:09       36 阅读
  10. Visual studio的使用

    2024-05-16 09:54:09       31 阅读