好了,所以我到處找互聯網進行某種形式的文檔對如何建立的MongoDB和Elasticsearch上。看起來主要的elasticsearch github回購中有一個Mongodb河流插件,但沒有文檔。有沒有人得到這兩個可愛的技術一起工作?建立的MongoDB河邊Elasticsearch
回答
這是一個相當古老的問題,但我只是張貼我的答案的情況下,其他人想知道同樣的問題,特別是隨着ES出來所有的時間新版本。我花了一段時間才讓我的ES與MongoDB一起工作。
首先,我假設你已經安裝了ES和MongoDB。如果您不使用副本集,請確保您已啓用oplog。請參閱here如何操作。
河插件具有相關性(elasticsearch映射器,附件),所以一定要安裝第一次,以防止以後出現任何問題。此wiki具有安裝插件所需的必要命令。如果您使用ES 0.20.2或更高版本,請注意river插件的備用下載鏈接。
重啓ES。
使用以下命令啓用索引:
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" } }'
做搜索,使用
curl -XGET 'http://localhost:9200/mongoindex/_search?q=field:value'
我得到了我的大部分信息來自this website,但我覺得它可能精簡更多,因此我自己的方法。
它工作在某些配置。 elasticsearch river plugin和mongodb的版本可能對整個系統的工作至關重要。
這裏是重現步驟的工作環境
1)使用elasticsearch版本1.2.4。對於Ubuntu的軟件包,它位於在這裏:https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.2.4.deb
與dpkg -i /path/to/elasticsearch-1.2.4.deb
2安裝)安裝河流插件及其依賴:
cd /usr/share/elasticsearch && bin/plugin --install elasticsearch/elasticsearch-mapper-attachments/1.9.0
cd /usr/share/elasticsearch && bin/plugin --install com.github.richardwilly98.elasticsearch/elasticsearch-river-mongodb/2.0.1
新版本映射atachments插件可用,但官方的wiki mongo河插件建議使用1.9.0。
3)的MongoDB v2.4.9肯定可與elasticsearch河插件。 確保mongod的啓動與--replSet rs0
,或者你在mongod.conf
接下來有replSet=rs0
,你必須確保副本集MongoDB中啓動: 登錄MONGO控制檯:
mongo
然後鍵入:
rs.initiate()
rs.status()
4)準備工作已經完成,現在您需要初始化elasticsearch river插件。 假設您已經elasticsearch在本地主機上運行:9200和MongoDB是蒙戈服務器上10.0.2.15:27017
curl -XPUT "localhost:9200/_river/feed/_meta" -d"
{
\"type\": \"mongodb\",
\"mongodb\": {
\"servers\": [
{\"host\": \"10.0.2.15", \"port\": 27017}
],
\"db\": \"YOUR_DB\",
\"collection\": \"YOUR_COLLECTION\"
},
\"index\": {
\"name\": \"YOUR_ELASTIC_INDEX\",
\"type\": \"item\"
}
}"
5)檢查rs.config()。它應該包含可以由mongodb river插件聯繫的副本集成員的可解析主機名或ips。 Elasticsearch river插件將連接到mongodb.servers中指定的主機並獲取副本配置。然後它將嘗試通過rs.config()中指定的主機名連接到副本集的主要主機。如果你正在使用docker容器來通過river插件來連接monogdb和elasticsearch,那麼這是一個問題。
你可以做更新RS配置如下:
mongo
,然後在蒙戈外殼
cfg = rs.config()
cfg.members[0].host = "12.34.56.78:27017"
rs.reconfig(cfg)
- 1. Elasticsearch無法使用MongoDB河
- 2. 使用Java API在Elasticsearch中創建MongoDB河流
- 3. ElasticSearch jdbc河
- 4. elasticsearch河的開銷?
- 5. elasticsearch拋出與mongodb河的異常工作
- 6. Elasticsearch MongoDB在日期之後導入的河流
- 7. Elasticsearch河網絡一體化
- 8. 觸發河更新elasticsearch
- 9. elasticsearch 2.2.0支持的彈性河流mongodb插件的替代方法是什麼?
- 10. MongoDB與MongoDB的ElasticSearch映射
- 11. Elasticsearch jdbc河流輸入緩慢
- 12. Elasticsearch jdbc河吞噬整個內存
- 13. 建立的MongoDB和Node.js的Ubuntu上
- 14. elasticsearch 2.1.1 - 不能建立集羣
- 15. 建立多個過濾器在Elasticsearch
- 16. 在ElasticSearch建立索引後搜索
- 17. 建立Elasticsearch服務器從微服務
- 18. 通過可變剛剛建立的MongoDB
- 19. 建立的MongoDB查詢動態
- 20. Playframework + Morphia + MongoDb + ElasticSearch = Disater?
- 21. MongoDB,elasticsearch URL索引
- 22. ElasticSearch快照獨立於ElasticSearch版本
- 23. Expressjs Mongodb初始連接建立困難
- 24. 如何在Mongodb中建立ManyToMany關係?
- 25. 導出數據MongoDB到ElasticSearch
- 26. 在Elasticsearch中建立索引的新方法
- 27. 如何檢查與Elasticsearch的連接是否已建立?
- 28. Elasticsearch河 - 5次嘗試後找不到_meta文檔
- 29. 從獨立線創建的形狀創建一個多邊形
- 30. mongodb和Elasticsearch的初始同步
爲了誰主編的「河」到「驅動程序」的傢伙 - 它的意思是什麼河。 – 2012-02-05 09:51:18