为Elasticsearch设置MongoDB河

Eri*_*ons 11 mongodb elasticsearch

好的,所以我在互联网上的各个地方搜索了一些关于如何设置MongoDB和Elasticsearch的文档.似乎主要的elasticsearch github repo中有一个Mongodb河流插件,但没有文档.有没有人让这两种可爱的技术一起工作?

Wei*_*Hao 17

这是一个相当古老的问题,但我会发布我的答案,以防其他人想知道同样的问题,特别是新版本的ES一直在出现.我花了一段时间让我的ES也使用MongoDB.

  1. 首先,我假设你安装了ES和MongoDB.如果您不使用副本集,请确保已启用oplog.请参考这里如何做到这一点.

  2. 河流插件具有依赖关系(elasticsearch-mapper-attachments),因此请确保先安装该插件以防止以后出现任何问题.这个wiki具有安装插件所需的必要命令.如果您使用的是ES 0.20.2及更高版本,请注意河流插件的备用下载链接.

  3. 重启ES.

  4. 使用以下命令启用索引:

    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"
        }
    }'
    
    Run Code Online (Sandbox Code Playgroud)
  5. 要进行搜索,请使用 curl -XGET 'http://localhost:9200/mongoindex/_search?q=field:value'

我从这个网站获得了大部分信息,但我觉得它可以更精简,因此我自己的方法.