Elasticsearch:如何获得匹配类型列表?

时间:2013-10-23 14:01:55

标签: search elasticsearch

我的弹性搜索索引中有10种类型。在搜索术语“test”时,我希望获得与该查询匹配的所有文档以及与该查询至少匹配一个的所有类型的列表

我知道我可以通过查看所有结果获得此列表,但我想有更好的方法..

谢谢!

2 个答案:

答案 0 :(得分:1)

由于facet已被弃用(https://www.elastic.co/guide/en/elasticsearch/reference/current/search-facets.html)并被聚合所取代,因此以下是聚合的解决方案:

{
  "query": {
    ...
  },
  "aggs": {
    "your_aggregation_name": {
      "terms": {
        "field": "_type"
      }
    }
  }
}

文档链接:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html

答案 1 :(得分:0)

刚刚设法使用如下所述的弹性搜索方面:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets.html#_facet_filter

简而言之,您可以将其添加到您的查询中:

  

“facets”:{“facet_name”:{“terms”:{“field”:“_ type”}}}

希望这有助于某人。