Elasticsearch 提供了一个基于 JSON 的完整的查询 DSL 来定义查询。将查询 DSL 视为查询的 AST,由两种类型的子句组成:
叶查询子句在特定查询中查找特定值,例如匹配、项值、范围查询。这些查询都可以给自己使用。
复合查询子句包装其他叶子或复合查询,用于以逻辑方式组合多个查询(例如 bool 或 dis_max 查询),或更改其行为(如 constant_score 查询)。
查询子句的行为有所不同,具体取决于它们是在查询上下文还是过滤器上下文中使用。