2013-01-04 43 views
1

我想配置我的工作站上的ElasticSearch与远程Mongo数据库上的大型集合。我安装了河,但我无法完成工作。我是这样的配置元素:弹性搜索与远程Mongodb

curl -XPUT 'http://localhost:9200/_river/mongodb/_meta' -d '{ 
"type": "mongodb", 
"mongodb": { 
"host":"10.42.210.214", 
"port":"27017", 
"login":"admin", 
"password":"something", 
    "db": "somedb", 
    "collection": "somecollection" 
}, 
"index": { 
    "name": "mongoindex", 
    "type": "somecollection" 
} 
}' 

当我通过搜索:

http://localhost:9200/somecollection/_search?query=matchAll&pretty=true 

...它说:

{ "error" : "IndexMissingException[[somecollection] missing]", "status" : 404 } 

我怎样才能使它指数东西/调试问题?

回答

1

您确定Elasticsearch的答案是no collection

我很想看到由ES发送的结果。

顺便说一句,你启用了mongodb replica set

+0

它说:{ “错误”: “IndexMissingException [somecollection]失踪]”, “状态”:404 } – Gomoku7

+0

这是不是 “没有收藏” 有点不同! :-)那么你是否在Mongo上启用副本集?弹性搜索日志中的任何内容? – dadoonet

+0

副本没有设置...对不起。而且我的配置不正确:有一个“服务器”元素,其中包含“主机”和“端口”,另一个名为“凭证”的地方有“用户”(不是登录名)和“密码”。由于副本是问题的一部分,我认为你的接受者是接受者的一部分。 THKS。 – Gomoku7

0

您应该使用http://localhost:9200/mongoindex/_search?query=matchAll&pretty=true来进行搜索。看看mongoindex