一、概述
dsl语句常用的有两大类,一类是叶子查询语句,另一类是布尔复合查询
二、其他资料中描述(正确性还待考察)
1.引入库
三、两个实例
四、我的猜测
所有的查询语句都写在query下,叶子查询语句可以直接写在query下查询,而叶子查询的与,或,非组合需要在布尔查询中完成,叶子查询子句的关系有,must,must_not,should,或者filter。在布尔查询中,每个关系的值都是一个列表,列表中存储多个字典(每个字典都是一个查询子句),每个字典都是一个查询键值对,查询语句的键包括term,match等等,值是一个字典,字典多个键值对,是要求字段需要满足的条件。Query_string也是一个查询语句,和match,term一样都是叶子查询语句。是用于分析query内容的分析器。
doc = {“query”: {“bool”: {“must”: [{“match”: {‘eventType.key’: event_type}}, {“query_string”: {“default_field”: “name”, “query”: event_title}}], “must_not”: [], “should”: search_field}},
“from”: 0, “size”: 10, “sort”: [], “aggs”: {}}