删除默认' match_all'查询来自Elasticseacrch-dsl-py

时间:2016-01-07 12:27:33

标签: python elasticsearch elasticsearch-dsl elasticsearch-py

如何删除' match_all'来自以下查询:

children()

1 个答案:

答案 0 :(得分:1)

此处 match_all 查询是可选的,它是已过滤查询的一部分:

{
    'query': {
        'filtered': {
            'filter': {
                'term': {
                    'status': 'Free'
                }
            },
            'query': {
                'match_all': {}
            }
        }
    }
}

根据规范您可以将其删除, match_all 是默认值: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html#_filtering_without_a_query

在python中从字典中删除键的方法是 pop 方法:

d = s.to_dict()
d['query']['filtered'].pop('query')

在发送查询之前,您不必删除密钥,服务器将忽略它。

相关问题