gpt4 book ai didi

elasticsearch - 当Elasticsearch中存在成千上万个相同文档时如何构建查询

转载 作者:行者123 更新时间:2023-12-03 00:15:41 25 4
gpt4 key购买 nike

我正在尝试构建一个简单的自动完成功能,其中数据来自Elasticsearch,而且似乎遇到了问题。

我将 Activity 参与者的注册信息保留在Elasticsearch中。

registration:{
name: "John Doe",
title: "Mr",
country: "AU",
position: "Employee"
}

由于有数百个事件,因此“John Doe”在ES中可能有数百个热门歌曲

我正在建立自动完成功能,并且只想显示John Doe的唯一版本。

例如。
  • “John Doe”,“Australia”,“Mr”,“Employee”
  • “John Doe,”美国“,”先生“,”员工“
  • “John Doe”,“美国”,“博士”,“所有者”

  • 在索引中,我可能有第1行的50,第2行的20和第3行的100。

    据我所知,我无法使用存储桶,因为它们聚集在一行上,因此我需要整个文档。

    有没有简单的方法可以做到这一点?

    喜欢

    从表组中按名称,标题,国家,位置选择名称,标题,国家,位置

    最佳答案

    如果要使用存储桶,则可以使用文本的串联版本作为聚合术语。
    您可以根据需要使用脚本,

    例如

    "terms":{
    "script":"doc['name'].value
    + '|' + doc['title'].value
    + '|' + doc['country'].value
    + '|' + doc['position'].value"
    }

    对于每个创建的存储桶,您将获得一个键,其中包含脚本中包含的字段的值。

    但是,您可能想在elasticsearch中检查 Completion Suggester,不必显式处理重复项。

    关于elasticsearch - 当Elasticsearch中存在成千上万个相同文档时如何构建查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36208781/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com