elasticsearch - 将不同文档的字段合并到同一个索引中

标签 elasticsearch

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

文档1

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

文档2

  {
    "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"
        }

最佳答案

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

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

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

关于elasticsearch - 将不同文档的字段合并到同一个索引中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33375763/

相关文章:

search - Elasticsearch:在列表中搜索字段 null OR

elasticsearch - .net 核心应用程序中的嵌套客户端绕过 ssl 证书错误

elasticsearch - Elasticsearch汇总存储桶结果

elasticsearch - 如何将日期数组映射到 Elasticsearch ?

c# - Nest使用MatchAll()查询和Size(100000)返回零结果

elasticsearch - 在NEST Elasticsearch 查询中,file.filename返回null

elasticsearch - 在Elasticsearch中使用NLP标签

linux - 可以远程但不能本地连接到 Elasticsearch 5

django - 使用多个 URL 参数查询 haystack 搜索

elasticsearch - Cassandra新节点无法加入集群