如何使用elasticsearch-dsl在嵌套查询周围添加OR过滤器

时间:2016-05-27 14:14:59

标签: python elasticsearch elasticsearch-dsl

我有一个嵌套的过滤器,如下所示:

search = search.filter(
                'nested', 
                path=path, 
                filter=F('bool', must=queries),
                inner_hits={'sort': ['p', 'd']}
            )

我想在整个过程中添加一个OR过滤器。所以它要么匹配X OR这个嵌套查询。

我正在使用ES 1.7

1 个答案:

答案 0 :(得分:1)

多一点毅力让我得到了这个:

search = search.filter(
                'or',
                [F(
                    'nested',
                    path=path,
                    filter=F('bool', must=queries),
                    inner_hits={'sort': ['p', 'd']}
                ), F('bool', must=or_queries)]
            )

这似乎可以解决问题..

相关问题