在同一索引中组合不同文档的字段

时间:2015-10-27 18:25:48

标签: elasticsearch

我的索引中有2个字段类型;

DOC1

{
"category":"15",
"url":"http://stackoverflow.com/questions/ask"
}

DOC2

  {
    "url":"http://stackoverflow.com/questions/ask"
    "requestsize":"231",
    "logdate":"22/12/2012",
    "username":"mehmetyeneryilmaz"
    }

现在我需要这样一个查询,它在同一个url字段中过滤并返回两个文档的字段:

结果:

        {
        "category":"15",
        "url":"http://stackoverflow.com/questions/ask"
        "requestsize":"231",
        "logdate":"22/12/2012",
        "username":"mehmetyeneryilmaz"
        }

1 个答案:

答案 0 :(得分:1)

elasticsearch给出的结果始终是每个文档,意味着如果有多个文档满足您的查询/过滤器,它们将始终在结果中显示为不同的文档,并且永远不会合并到单个文档中。因此,在客户端合并它们是您可以使用的一个选项。为了避免获得完整的文档并只是为了获取相关字段,您可以在查询中使用“字段”。

如果这不是您所需要的,仍然需要缩小查询本身的结果,您可以使用热门命中聚合。它将为您提供单个存储桶下的完整文档列表。但它也有源字段,其中包含完整的文档本身。

尝试给页面读取: https://www.elastic.co/guide/en/elasticsearch/reference/1.4/search-aggregations-metrics-top-hits-aggregation.html