有没有官方的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进行索引的文档?
答案 0 :(得分:4)
github上有一条新的MongoDB河:
https://github.com/richardwilly98/elasticsearch-river-mongodb
答案 1 :(得分:1)
根据代码你可以指定几个东西,但是没有单独的doc(期望一个邮件列表讨论):
答案 2 :(得分:0)
这不是你正在寻找的答案。我看着建立这个mongo河,但我发现它有一些内存泄漏的讨论,我不想乱用Java代码。我使用批量API编写了自己的mongo-> ES导入程序。
这是一项正在进行中的工作,所以请随时做出贡献! :)
答案 3 :(得分: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
步骤3: -Mongodb中的启用副本集
转到 mongod.conf &添加行
replSet=rs0
save&退出
重启mongod
Step.4: - 通过在终端中发出以下命令,通过弹性搜索来索引testmongo
数据库中的“人物”集合
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: - 查看HQ插件
在mongoindex
中,您将获得数据。