好了,所以我到處找互聯網進行某種形式的文檔對如何建立的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. 爲MongoDb複製組創建ElasticSearch河
- 2. Elasticsearch無法使用MongoDB河
- 3. Elasticsearch MongoDB的河流tailable curosr問題
- 4. HBase和elasticsearch整合如MongoDB河
- 5. 使用Java API在Elasticsearch中創建MongoDB河流
- 6. ElasticSearch jdbc河
- 7. ElasticSearch河搞亂
- 8. elasticsearch河的開銷?
- 9. 建立在銀河S
- 10. Elasticsearch 0.90與MSSQL河
- 11. 使用elasticsearch河創建索引
- 12. Elasticsearch的ActiveMQ河配置
- 13. Elasticsearch MongoDB在日期之後導入的河流
- 14. elasticsearch拋出與mongodb河的異常工作
- 15. elasticsearch - 建立查詢
- 16. Elasticsearch |未能創造河
- 17. 觸發河更新elasticsearch
- 18. Elasticsearch列出所有河流
- 19. 麻煩JDBC-河與elasticSearch
- 20. Elasticsearch河網絡一體化
- 21. Elasticsearch河流 - 如何使河流指數的正常指標?
- 22. 建立的MongoDB副本集
- 23. 搜索CouchDB的使用ElasticSearch河
- 24. Elasticsearch CouchDB的河流陳舊/同步
- 25. 彈性搜索mongodb河
- 26. elasticsearch 2.2.0支持的彈性河流mongodb插件的替代方法是什麼?
- 27. 創建混合兩個CouchDB河流的ElasticSearch索引
- 28. MongoDB與MongoDB的ElasticSearch映射
- 29. jprante elasticsearch jdbc河更改日期值
- 30. 避免通過JDBC-河上elasticsearch
爲了誰主編的「河」到「驅動程序」的傢伙 - 它的意思是什麼河。 – 2012-02-05 09:51:18