Query DSL
Elasticsearch 提供了一种基于JSON 的查询 DSL (Domain Specific Language) 来定义查询。可以把查询 DSL 看作是查询的 AST(Abstract Syntax Tree),由两种类型的子句组成:
叶子节点查询: 叶子查询子句在特定字段中查找特定值,例如 match,term,range 查询。这类查询可以单独使用
复合查询子句: 复合查询可以包裹 叶子节点查询 或者 复合查询子句,用于组合多个查询( bool,dis_max)或改变查询行为(constant_score)。
一、Query and filter context
分别描述了什么是 相关性评分(Relevance scores)、相关性查询(Query context)、过滤查询(Filter context)
Filter context:
- 在 bool 中的 filter 、must_not
- 在 constant_score 中的 filter
- filter 聚合