查询 DSL
编辑查询 DSL
编辑Elasticsearch 提供了一个完整的基于 JSON 的查询 DSL(领域特定语言)来定义查询。可以将查询 DSL 看作是查询的 AST(抽象语法树),它由两种类型的子句组成
查询子句的行为取决于它们是在查询上下文还是过滤器上下文中使用。
- 允许开销大的查询
-
某些类型的查询由于其实现方式通常执行缓慢,这可能会影响集群的稳定性。这些查询可以归类如下:
-
需要进行线性扫描来识别匹配项的查询
-
具有高预付成本的查询
- 连接查询
-
可能具有高单文档成本的查询
-
可以通过将 search.allow_expensive_queries
设置的值设置为 false
(默认为 true
)来阻止此类查询的执行。