3

有没有可用于 elasticsearch 的官方 mongodb 河?我通过模块 mogoose 在 node.js 中使用 mongodb。我在http://www.matt-reid.co.uk/blog_post.php?id=68看到过一个

这是正确的吗?虽然它说非官方...

编辑:看起来,https ://github.com/aparo/elasticsearch有内置的 mongodb 插件。有没有关于如何使用 mongodb 配置它以及 mongodb 如何将数据推送到 elasticsearch 的文档?

4

4 回答 4

4

github上有一条新的MongoDB河:

https://github.com/richardwilly98/elasticsearch-river-mongodb

于 2012-03-10T02:18:07.263 回答
0

这并不是您真正想要的答案。我看着构建这条 mongo 河,但我发现一些关于它的讨论有一些内存泄漏,我不想摆弄 Java 代码。我使用批量 API 编写了自己的 mongo->ES 导入器。

这是一项正在进行的工作,所以请随时贡献!:)

https://github.com/ornmazor/elastic-search-loves-mongo

于 2012-03-02T16:31:32.823 回答
0

是的,github上有一条新的MongoDB河:

https://github.com/richardwilly98/elasticsearch-river-mongodb

如需进一步说明,您可以按照以下步骤操作:

第 1 步:-安装

ES_HOME/bin/plugin -install elasticsearch/elasticsearch-mapper-attachments/1.4.0 
ES_HOME/bin/plugin -install richardwilly98/elasticsearch-river-mongodb/1.4.0

第2步: -Restart Elasticsearch

ES_HOME/bin/service/elasticsearch restart

Step.3: - 在 mongodb 中启用副本集

转到mongod.conf并添加行

replSet=rs0

保存并退出

重启 mongod

Step.4 :-testmongo告诉elasticsearch通过在终端中发出以下命令来索引数据库中的“person”集合

curl -XPUT 'http://localhost:9200/_river/mongodb/_meta' -d '{ 
    "type": "mongodb", 
    "mongodb": { 
        "db": "testmongo", 
        "collection": "person"
    }, 
    "index": {
        "name": "mongoindex", 
        "type": "person" 
    }
}'

Step.5: -通过mongo终端向mongodb添加一些数据

use testmongo
var p = {firstName: "John", lastName: "Doe"}
db.person.save(p)

Step.6: -使用此命令搜索数据

curl -XGET 'http://localhost:9200/mongoindex/_search?q=firstName:John'

笔记:

DELETE /_river

DELETE/_mongoindex

再次运行此命令,

curl -XPUT 'http://localhost:9200/_river/mongodb/_meta' -d '{ 
    "type": "mongodb", 
    "mongodb": { 
        "db": "testmongo", 
        "collection": "person"
    }, 
    "index": {
        "name": "mongoindex", 
        "type": "person" 
    }
}'

Step.7: -查看总部插件

mongoindex中,您将获得您的数据。

于 2016-02-19T07:28:33.650 回答