好的,所以我在互联网上到处搜索有关如何设置 MongoDB 和 Elasticsearch 的文档。似乎主 elasticsearch github repo 中有一个 Mongodb River 插件,但没有文档。有没有人让这两种可爱的技术一起工作?
最佳答案
这是一个相当老的问题,但我会发布我的答案,以防其他人想知道同样的问题,尤其是在新版本的 ES 不断出现的情况下。我也花了一段时间才让我的 ES 与 MongoDB 一起工作。
首先,我假设你已经安装了 ES 和 MongoDB。如果您不使用副本集,请确保启用了 oplog。引用 here如何做到这一点。
river 插件有一个依赖项(elasticsearch-mapper-attachments),所以请务必先安装它以防止以后出现任何问题。这个wiki具有安装插件所需的必要命令。如果您使用的是 ES 0.20.2 及更高版本,请注意 River 插件的备用下载链接。
重启 ES。
使用以下命令启用索引:
curl -XPUT 'http://localhost:9200/_river/mongodb/_meta' -d ' { "type": "mongodb", "mongodb": { "db": "your-database-name", "collection": "your-collection-name" }, "index": { "name": "mongoindex", "type": "your-type" } }'
要进行搜索,请使用
curl -XGET 'http://localhost:9200/mongoindex/_search?q=field:value'
我的大部分信息来自 this website ,但我觉得它可以简化很多,因此我有自己的方法。
关于mongodb - 为 Elasticsearch 设置 MongoDB River,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9140661/