【问题标题】:Advanced query with Elasticsearch (How to do JOIN)使用 Elasticsearch 进行高级查询(如何进行 JOIN)
【发布时间】:2015-12-03 12:15:34
【问题描述】:

我目前正在从 RDBMS 世界转移到 NO SQL 世界,我正在尝试解决一个问题。 我正在使用 ElasticSearch,我有 2 个索引: 第一个索引“路线”包含一个人名和 GeoLocation 点数组,这些点是他在上周创建的路线。 第二个索引,“地址”,包含地址列表 -> 一个人名,以及他家的地理位置。

现在,我想做一个高级查询,它允许用户过滤如下内容: - 给我他们的房子在特定多边形(A)中的所有人,并且在另一个多边形(B)中也有路线

这就像在人名上做一个 JOIN 语句 - 我怎样才能使用 ElasticSearch 做这样的事情?我正在用 JAVA 编写代码

谢谢

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    简短的回答:您不能在 Elasticsearch 中执行与 SQL 等效的 JOIN,它只是不是这样工作的。

    长答案:https://www.elastic.co/guide/en/elasticsearch/guide/current/relations.html

    您应该创建具有特定关系的集合。

    尽管在您的情况下,我建议您将所有内容保存在同一个集合中并从那里处理,Elasticsearch 可以处理它。

    【讨论】:

    猜你喜欢
    • 2012-01-06
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 2014-03-13
    • 2021-03-07
    • 2015-09-16
    相关资源
    最近更新 更多