如何通过Elasticsearch中的值数组查询/过滤精确计数?

时间:2015-03-04 07:31:29

标签: arrays elasticsearch facet term

我有这些文件:

{"title": "aa","cast": ["a","b","c","a"]}
{"title": "bb","cast": ["a","b","c","b"]}
{"title": "cc","cast": ["a","b","c","c"]}

我使用刻面来获得结果。

facets": {
      "cast_result": {
         "_type": "terms",
         "missing": 0,
         "total": 9,
         "other": 0,
         "terms": [
            {
               "term": "c",
               "count": 3
            },
            {
               "term": "b",
               "count": 3
            },
            {
               "term": "a",
               "count": 3
            }
         ]
      }
  }
}

但是我希望得到的结果是" a"是四,因为频率为" a"真实文件中有四个。" b"和" c"也喜欢" a"。

1 个答案:

答案 0 :(得分:0)

create the index

query

the sum of term is the answer

但我发现一个问题,当分片数超过2时,答案是错误的,所以它必须低于2.副本的数量无关紧要。