elasticsearch - Elasticsearch的每条记录是否与一个查询中的所有其他记录匹配?

标签 elasticsearch elasticsearch-5

我正在使用Elasticsearch容纳所有 Activity 用户。

例如,如果我有200个 Activity 用户,并且想为每个用户查找300公里以内的所有用户。

为了找到每个用户的匹配项,我需要运行以下功能200次。

findOneMatch(UserID) {
  /*
     elastic search query here to find any user within 300km
  */
}

是否可以进行一个查询并找到每个单个用户的所有匹配项?

我想要的结果是:
User 1: (matches: User 5, User 15, User 23)
User 2: (matches: User 25, User 115)
User 3: (matches: User 33, User 44, User 55)
User 4: (matches: User 44, User 66, User 115)
...

不寻找特定查询,而是指示

最佳答案

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html

您可以利用multisearch API。它的作用是,您可以将所有用户的搜索查询合并为一个查询,然后立即将其触发,您将收到一个批量响应,其中将包含属于多重搜索的每个查询的搜索结果。

请小心,以免批次中的查询数量使服务器不堪重负。

关于elasticsearch - Elasticsearch的每条记录是否与一个查询中的所有其他记录匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51563818/

相关文章:

arrays - 如何在Elasticsearch中按值数组查询/过滤精确计数?

performance - 在 Elasticsearch 中使用过滤器搜索别名非常慢

sql-server - Elastic Search 5和SQL Server同步

elasticsearch - 如何使用动态类型名称编写Elasticsearch映射

elasticsearch - ElasticSearch 5.6中的MySql按值排序

elasticsearch - “mappings”在Elasticsearch中做什么?

hadoop - 轻松将 Elasticsearch 数据导入 HDFS

amazon-web-services - 如何配置 Winlogbeat 连接到 AWS elasticsearch

Elasticsearch - 包含子文档(如果存在)

javascript - 如何发出get请求来检索elasticsearch集群中某个索引的最新文档?