2016-02-10 25 views
2

我最近正在致力於將ElasticSearch與MongoDB 3.0集成。數據不會從MongoDB 3.0複製到彈性搜索1.4.2和

我跟着幾個線程與MongoDB的3.0 配置ElasticSearch像 How to use Elasticsearch with MongoDB?

但是,數據不會從MongoDB的複製到ElasticSearch指數, ElasticSearch指數總是顯示它只有一條記錄,雖然MongoDB的收藏有1000多條記錄。所有搜索查詢都返回0次。

我無法找到新主題談論MongoDB的3.0,但我跟着這裏顯示

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

的版本兼容表我已經安裝了彈性搜索1.4.2,MongoDB的3.0,河2.0.9和AttachmentMapper。

然後我試着將MongoDB降級到2.6.11,但也存在同樣的問題。

我也在檢查河管理控制頁面,但它不顯示任何東西。

http://localhost:9200/_plugin/river-mongodb/

數據爲什麼沒有複製正確?

+0

又見面了,我嘗試了好幾種版本,並隨後從https://github.com/richardwilly98/論壇,但沒有到此刻的一些步驟。 我認爲這個問題與版本不兼容有關,但我不確定 – Kareem

回答

0

最後,我已經成功地解決了我的問題, 首先, 我已經降級的MongoDB至2.6.6和河2.05 這是我的第一個錯誤。

其次,

我試圖在elasticSearch 創建索引,但我已經在url 修改的非常小的一部分,我修改了_river到myindex,這是完全錯誤的,因爲你必須_river增加能夠打電話給河。

curl -XPUT localhost:9200/**myindex**/person/_meta -d '{ 
    "type": "mongodb", 
    "mongodb": { 
    "servers": [ 
     { "host": "localhost", "port": 27017 } 
    ], 
    "db": "newPerson", 
    "collection": "Person", 
    "options": { "secondary_read_preference": true }, 
    "gridfs": false 
    }, 
    "index": { 
    "name": "mongoindex", 
    "type": "person" 
    } 

}」

三,數據庫和集合名稱都包含大寫字母,這也錯了,之後我改變了名稱爲小寫並重新創建索引,一切運行良好與我。 (儘量避免任何大寫字母)

希望幫助,