在Elasticsearch中搜索具有相同值的文档

时间:2018-08-03 09:26:06

标签: elasticsearch self-join

我有一个看起来像这样的架构:

{
  "mappings": {
    "entity": {
      "properties": {
      "a": {
        "type": "text"
      },
      "b": {
        "type": "text"
      }
    }
  }

我想找到b的所有值,其中b的值由2个或更多实体共享:

查询依据:

[{"a": "a1", "b": "b1"}, 
 {"a": "a1", "b": "b2"}, 
 {"a": "a2", "b": "b3"}]

应返回b1b2

1 个答案:

答案 0 :(得分:1)

您可以在terms字段上以a为2进行min_doc_count聚合,然后添加top_hits子聚合以找到匹配的{{1} }字段:

b