Skip to main content
 首页 » 编程设计

python之将 "facet_filter"查询转换为 pyes 格式

2025年05月04日10mfrbuaa

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