Ok, quindi ho cercato ovunque su Internet per una sorta di documentazione su come configurare MongoDB ed Elasticsearch. Sembra che ci sia un plugin per il fiume Mongodb nel repository github principale di elasticsearch, ma nessuna documentazione. Qualcuno ha ottenuto queste due adorabili tecnologie per lavorare insieme?Impostazione di MongoDB river per Elasticsearch
risposta
Questa è una domanda piuttosto vecchia, ma inserirò la mia risposta solo nel caso in cui gli altri si stiano ponendo la stessa domanda, specialmente con le nuove versioni di ES che escono continuamente. Mi ci è voluto un po 'per far funzionare anche il mio ES con MongoDB.
In primo luogo, presumo che ES e MongoDB siano installati. Assicurati di avere oplogs attivati se non stai usando i set di repliche. Consultare here su come farlo.
Il plug-in del fiume ha una dipendenza (elasticsearch-mapper-attachments), quindi ASSICURI di installarlo per primo per evitare eventuali problemi in seguito. Questo wiki ha i comandi necessari per installare i plug-in. Prendere nota del link di download alternativo per il plugin del fiume se si utilizza ES 0.20.2 e versioni successive.
Riavviare ES.
Utilizzare il seguente comando per abilitare l'indicizzazione:
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" } }'
Per eseguire una ricerca, utilizzare
curl -XGET 'http://localhost:9200/mongoindex/_search?q=field:value'
ho ottenuto la maggior parte delle mie informazioni da this website, ma ho sentito che poteva essere razionalizzato molto di più, da qui il mio approccio.
Funziona in alcune configurazioni. Le versioni del plug-in del fiume elasticsearch e di mongodb potrebbero essere essenziali per il funzionamento dell'intero sistema.
Ecco procedura per riprodurre l'ambiente di lavoro
1) utilizzare elasticsearch versione 1.2.4. Pacchetto per Ubuntu si trova qui: https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.2.4.deb
installarlo con dpkg -i /path/to/elasticsearch-1.2.4.deb
2) installazione plug-fiume e le sue dipendenze:
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
recenti versioni di mapper atachments plug-in sono disponibili, ma wiki ufficiale di Il plugin mongo river suggerisce di usare 1.9.0.
3) MongoDB v2.4.9 funziona sicuramente con il plugin fiume elasticsearch. assicurarsi mongod è lanciato con --replSet rs0
o hai replSet=rs0
in mongod.conf
Successivamente, è necessario essere sicuri che set di repliche è iniziata in MongoDB: login per mongo console:
mongo
Quindi digitare:
rs.initiate()
rs.status()
4) I preparativi sono stati fatti, ora è necessario avviare il plugin fiume elasticsearch. Supponendo che avete elasticsearch in esecuzione su localhost: 9200 e MongoDB è in 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) controllare rs.config() sul server di Mongo. Dovrebbe contenere nomi host o ips risolvibili per i membri della serie di repliche che potrebbero essere contattati dal plugin del fiume mongodb. Il plug-in del fiume Elasticsearch si connetterà all'host specificato in mongodb.servers e fetch replica config. Quindi proverà a connettersi all'host primario del set di repliche tramite il nome host specificato in rs.config(). Se stai per usare container docker per interconnettere monogdb ed elasticsearch tramite il plugin River, questo è un problema.
Si potrebbe aggiornare rs config effettuando le seguenti operazioni:
mongo
e poi in Mongo sborsare
cfg = rs.config()
cfg.members[0].host = "12.34.56.78:27017"
rs.reconfig(cfg)
- 1. jprante elasticsearch jdbc river che modifica il valore della data
- 2. Recupero delle modifiche dalla tabella con ElasticSearch JDBC river
- 3. MongoDB + Elasticsearch o solo Elasticsearch?
- 4. impostazione di elasticSearch con Postgresql
- 5. logstash to elasticsearch show Impostazione Uknown
- 6. impostazione del server Elasticsearch per l'elaborazione dei dati da microservices
- 7. elasticsearch: HOW-TO eliminare un (cluster) impostazione
- 8. Impostazione di requisiti ambientali MongoDB per Parse Server
- 9. MongoDB vs TokuMX - Perché non dovrebbe essere usato TokuMX per impostazione predefinita al posto di MongoDB
- 10. Meraviglia: MongoDB _id è univoco per impostazione predefinita?
- 11. ElasticSearch per dati serie temporali
- 12. Come utilizzare gli indici Solr di Elasticsearch
- 13. Quali vantaggi offre MongoDB su ElasticSearch come database NoSQL solo
- 14. Impostazione autorizzazioni di lettura/scrittura sulla cartella Mongodb
- 15. ElasticSearch & Mongo
- 16. Mantenere elasticsearch e database sincronizzati
- 17. Come definire i nomi di campo dell'indice ElasticSearch per un POJO utilizzando Spring Data ElasticSearch
- 18. Qual è l'uso di MongoDB in GrayLog2?
- 19. Impostazione della torcia su Heroku per ElasticSearch con la nuova Firebase
- 20. inserimento di massa per elasticsearch con NEST
- 21. Risultati di ricerca personalizzati per Elasticsearch
- 22. Simboli in stringa di query per elasticsearch
- 23. Punteggio per posizione di termine in ElasticSearch?
- 24. Ordine ElasticSearch per lunghezza stringa
- 25. ElasticSearch per termini con spazi
- 26. Client HTTP Java per ElasticSearch
- 27. Analizzatore di indici di default in elasticsearch
- 28. Database necessario con elasticsearch?
- 29. Impostazione di JAVA_HOME per intelliJ?
- 30. Impostazione di Scaladoc per IntelliJ
Per il ragazzo che ha curato "fiume" a "driver" - è stato concepito per essere fiume. –