elasticsearch_dsl 库可以方便的生成一些复杂的 dsl 语句,而不用自己去写 json.
指定 _source
指定确定的字段
1 | from elasticsearch_dsl import Search |
使用 include
和 exclude
,需要注意的是两种方式不能同时使用
1 | from elasticsearch_dsl import Search |
逻辑操作
1 | Q() & Q() | ~Q() |
取子属性
1 | # eg 要获取 attacker.city, 使用 __ 代替 . |
嵌套
1 | city_q = Q('nested', path='victims', query=~Q('term', victims__location__city="")) |
对应下面的 json
1 | { |