将“facet_filter”查询转换为pyes格式

时间:2012-09-13 04:15:21

标签: python json elasticsearch pyes

我有以下查询,我想将该查询更改为PyES:

{
    "facets": {
        "participating-org.name": {
            "terms": {
                "field": "participating-org.name"
            },
            "facet_filter": {
                "term": {
                    "participating-org.role": "funding"
                }
            },
            "nested": "participating-org"
        }
    }
}

我在PyES文档中搜索了关于这个“facet_filter”但在PyES中找不到好的查询。
因此需要一些帮助才能将此JSON查询转换为PyES格式。

1 个答案:

答案 0 :(得分:0)

这应该有效。但它未经测试。我在另一个代码中使用它类似。

from pyes.facets import FacetFactory, TermFacet, ANDFacetFilter
facet_factory = FacetFactory()
facet_filter = ANDFacetFilter(TermFilter('category'))
term_facet = TermFacet(
            field='attributes',
            facet_filter=facet_filter,
            name='yourfacet',
            size=100,
            )

facet_factory.add(term_facet)