代码之家  ›  专栏  ›  技术社区  ›  Dalin Huang

弹性搜索每个记录以匹配一个查询中的所有其他记录?

  •  0
  • Dalin Huang  · 技术社区  · 6 年前

    我正在使用ElasticSearch保存所有活动用户。

    例如,如果我有200个活动用户,并且对于每个用户,我希望找到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)
    ...
    

    不查找特定查询,但查找方向