查询 DSL编辑

Elasticsearch 提供了一个基于 JSON 的完整查询 DSL(领域特定语言)来定义查询。可以将查询 DSL 视为查询的 AST(抽象语法树),它由两种类型的子句组成

叶子查询子句
叶子查询子句在特定字段中查找特定值,例如 matchtermrange 查询。这些查询可以单独使用。
复合查询子句
复合查询子句包装其他叶子 复合查询,用于以逻辑方式组合多个查询(例如 booldis_max 查询),或更改其行为(例如 constant_score 查询)。

查询子句的行为取决于它们是在 查询上下文还是过滤上下文 中使用。

允许昂贵的查询

某些类型的查询通常由于其实现方式而执行缓慢,这会影响集群的稳定性。这些查询可以归类如下

可以通过将 search.allow_expensive_queries 设置的值设置为 false(默认为 true)来阻止执行此类查询。