我有以下查询,我想将该查询更改为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格式。

最佳答案

这应该工作。但是它未经测试。我在另一个代码中也使用了它。

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)

10-06 13:41