0

我已经使用 mongodb River 安装并配置了 MongoDB 和 ES。但我不确定我是否真的了解 ES 中的河流。例如,我想要来自 mongodb 的索引集合“用户”。

我会将 curl PUT/POST 请求发送到 url /_river/mongodb_users/_meta

{
  "type": "mongodb",
  "mongodb": {
    "db": "somedb",
    "collection": "users"
  },
  "index": {
    "name": "users",
    "type": "user"
  }
}

但现在,我想索引第二个集合,例如“users2”。我真的需要在 /_river/mongodb_users2/_meta 等带有 JSON 的 URL 上使用 curl POST/PUT 创建新河流:

{
  "type": "mongodb",
  "mongodb": {
    "db": "somedb",
    "collection": "users2"
  },
  "index": {
    "name": "users2",
    "type": "user"
  }
}

我不能使用已经创建的河“mongodb_users”?我需要为一个集合创建一条河流吗?

谢谢你的解释!

4

1 回答 1

2

是的。MongoDB River 的工作方式不允许从一条 River 中的多个集合中获取内容。

但是,您可以根据需要创建任意数量的河流。

也就是说,如果您想将 users1 索引到 Elasticsearch 中的用户类型,并将 users2 索引到相同的用户类型,您可以(只要他们不使用相同的 ID)。

只需修改index.type"users".

它有帮助吗?

于 2013-01-25T15:09:11.303 回答