【问题标题】:Translating ElasticSearch Facets Query into PyES将 ElasticSearch Facets 查询转换为 PyES
【发布时间】:2012-09-06 19:11:34
【问题描述】:

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

{ "facets": { "participating-org.name": { "terms": { "field": "participating-org.name" }, "nested": "participating-org" } } }

我在 PyES 文档中搜索过:

class pyes.facets.TermsFacetFilter(field=None, values=None, _name=None, execution=None, **kwargs)

而且我不知道如何使用它,而且我找不到任何与之相关的示例。希望看到 PyES 的人在未来提供带有示例的优秀文档。

【问题讨论】:

    标签: elasticsearch facets pyes


    【解决方案1】:

    我刚刚发现自己:

    from pyes import * from pyes.facets import * conn = ES('localhost:9200', default_indices='org', default_types='activity') q2 = MatchAllQuery().search() q2.facet.add_term_facet('participating-org.role', nested="participating-org") # Displays the ES JSON query. print q2 resultset = conn.search(q2) # To display the all resultsets. for r in resultset: print r # To display the facet counts. print resultset.facets

    这段代码给出了上面的 JSON 代码,并为我提供了确切的计数。

    【讨论】:

    • 你找到使用TermsFacetFilter的方法了吗?
    • 目前我还没有使用过TermsFacetFilters。如果您正在搜索它,那么最好在 pyes 的文档中搜索。
    • 没问题,谢谢。我通过使用 q.facet.add(TermFacetFilter(...)) 让它工作。 (天哪,PyES 有一个非常不直观/不对称的 API,希望有一天会重写。)
    猜你喜欢
    • 2012-09-06
    • 2012-04-14
    • 2018-04-07
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多