首页 > 解决方案 > 如何在 ElasticSearch 中“加入”2 个索引和搜索?

问题描述

假设我有一个名为“posts”的索引,它具有以下属性:

{
    "uid": "<user id>",
    "date": "<some date>",
    "message": "<some message>"
}

另一个名为“users”的索引具有以下属性:

{
    "uid": "<user id>",
    "gender": "Male"
}

现在,我正在搜索男性发布的帖子。我怎样才能做到这一点?

我绝对不想在帖子中有“用户”属性并将用户的性别存储在其中。因为当用户更新他/她的性别时,我必须去他/她发布过的每一个帖子来更新性别。

标签: databaseelasticsearchjoin

解决方案


Elasticsearch 目前还不支持索引间关系。有“join”数据类型,但它只支持同一索引中的字段。


推荐阅读