用于计算弹性搜索中的索引和类型命中的方面

时间:2013-06-21 19:30:32

标签: indexing elasticsearch faceted-search

我使用下面的查询来查找单词" developer"在博客索引......

http://localhost:9200/blog/_search
{ 
   "query": {
     "query_string": {
        "query": "developer"
      }
    }
}

该查询返回user上的3次点击和post类型上的1次点击,我想要一个方面来反映这些点击以显示类似...

搜索结果...
博客帖子(1)
用户(3)

...但我不确定如何将facet与查询结合起来计算此类命中数,因为大多数示例我都发现了计数字段命中数;我尝试使用_index返回索引匹配,但无法使其工作;是否有类似的类型,如_type,来计算索引中的文档类型匹配?

1 个答案:

答案 0 :(得分:11)

好的,想通了,显然有一个_type字段用于分面,基于此...

http://elasticsearch-users.115913.n3.nabble.com/enabled-quot-index-quot-does-not-allow-me-to-get-facet-values-td1056215.html

<强>查询

http://localhost:9200/blog/_search

    {
      "size" : 0,
      "query" : {   
         "query_string" : {
            "query" : "developer"}
       },
      "facets" : {
        "type" : {
          "terms" : { "field" : "_type"}
        }
      }
    }

<强>响应

{
  ...
  "facets": {
    "type": {
      "_type": "terms",
      "missing": 0,
      "total": 4,
      "other": 0,
      "terms": [
        {
          "term": "user",
          "count": 3
        },
        {
          "term": "post",
          "count": 1
        }
      ]
    }
  }
}