ElasticSearch与河流到MongoDB

时间:2013-01-25 15:02:37

标签: mongodb elasticsearch

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

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

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

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

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

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

感谢您的解释!

1 个答案:

答案 0 :(得分:2)

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

但是,您可以根据需要创建尽可能多的河流。

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

只需将index.type修改为"users"

有帮助吗?