OK, więc szukałem wszędzie w Internecie jakiejś dokumentacji dotyczącej konfiguracji MongoDB i Elasticsearch. Wygląda na to, że w głównym repozytorium elasticsearch znajduje się wtyczka do rzeki Mongodb, ale nie ma dokumentacji. Czy ktoś ma te dwie piękne technologie do wspólnej pracy?Konfigurowanie rzeki MongoDB dla Elasticsearch
Odpowiedz
To jest dość stare pytanie, ale opublikuję odpowiedź, na wypadek gdyby inni zastanawiali się nad tym samym pytaniem, szczególnie w przypadku nowych wersji ES wychodzących cały czas. Zajęło mi trochę czasu, aby mój ES pracował również z MongoDB.
Najpierw zakładam, że masz zainstalowane ES i MongoDB. Upewnij się, że masz włączone oplory, jeśli nie używasz zestawów replik. Zajrzyj do here, jak to zrobić.
Wtyczka rzeki ma zależność (elastyczne załączniki-mappery), więc upewnij się, że instalujesz ją jako pierwszą, aby zapobiec późniejszym problemom. Ten wiki ma niezbędne polecenia potrzebne do zainstalowania wtyczek. Zwróć uwagę na alternatywny link do pobierania wtyczki rzeki, jeśli używasz wersji ES 0.20.2 i wyższej.
Ponownie uruchom ES.
Użyj następującego polecenia w celu umożliwienia indeksowania:
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" } }'
Aby wykonać wyszukiwanie, użyj
curl -XGET 'http://localhost:9200/mongoindex/_search?q=field:value'
mam większość moich informacji z this website, ale czułem, że mogłem być usprawnionym o wiele więcej, stąd moje własne podejście.
Działa w niektórych konfiguracjach. Wersje pluginów sprężystych rzeki i mongodów mogą być niezbędne do funkcjonowania całego systemu.
Oto kroki, aby odtworzyć środowisko pracy
1) używać elasticsearch wersji 1.2.4. Pakiet dla Ubuntu to znajduje się tutaj: https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.2.4.deb
zainstalować go z dpkg -i /path/to/elasticsearch-1.2.4.deb
2) zainstalować wtyczkę rzecznego i jego zależności:
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
Nowsze wersje odwzorowujący atachments wtyczki są dostępne, ale oficjalna wiki z Wtyczka mongo river sugeruje użycie 1.9.0.
3) MongoDB v2.4.9 na pewno współpracuje z pluginem elasticsearch. upewnić mongod zostanie uruchomiony z --replSet rs0
lub masz replSet=rs0
w mongod.conf
Dalej, trzeba mieć pewność, że zestaw replik jest inicjowana w MongoDB: logowanie do Mongo konsola:
mongo
Następnie wpisz:
rs.initiate()
rs.status()
4) Przygotowania zostały wykonane, teraz musisz zainicjować wtyczkę rzeki elasticsearch. Zakładając, że masz elasticsearch działa na localhost: 9200 i MongoDB jest 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) sprawdzić rs.config() na serwerze Mongo. Powinien zawierać rozpoznawalne nazwy hostów lub ips dla członków zestawu replik, z którymi mogłaby się skontaktować wtyczka rzeki mongodb. Wtyczka rzeki Elasticsearch połączy się z hostem określonym w mongodb.servers i pobierze konfigurację repliki. Następnie spróbuje połączyć się z głównym hostem zestawu replik przez nazwę hosta określoną w pliku rs.config(). Jeśli zamierzasz używać kontenerów doków do łączenia monogdb i elastycznego wyszukiwania przez plugin do rzeki, to jest to problem.
Można aktualizować rs config w następujący sposób:
mongo
a następnie w Mongo shell
cfg = rs.config()
cfg.members[0].host = "12.34.56.78:27017"
rs.reconfig(cfg)
- 1. Pobieranie zmian z tabeli za pomocą rzeki JDBC ElasticSearch
- 2. mapowanie w tworzeniu indeksu w elastycznym przeszukiwaniu rzeki mongodb nie przynosi efektu
- 3. MongoDB: Nieudane konfigurowanie gniazd podczas uruchamiania
- 4. elasticsearch v.s. MongoDB do aplikacji filtrującej
- 5. Konfigurowanie Scaladoc dla IntelliJ
- 6. Konfigurowanie WCF dla wsHttpBinding
- 7. Konfigurowanie Eclipse dla MinGW
- 8. danych z SQL Server do ElasticSearch Węzła
- 9. Elasticsearch do indeksu danych RDBMS
- 10. Konfigurowanie pylint dla Django projektów
- 11. Jak używać indeksów Solr z Elasticsearch
- 12. Złącze sprzężenia zwrotnego dla ElasticSearch
- 13. Klient HTTP HTTP dla ElasticSearch
- 14. ElasticSearch dla warunków ze spacjami
- 15. Spersonalizowane wyniki wyszukiwania dla Elasticsearch
- 16. MongoDB ORM dla Pythona?
- 17. Java API dla MongoDB
- 18. Konfigurowanie Netbeans/Eclipse dla Linux Kernel Development
- 19. Jetty 7: konfigurowanie JNDI dla Start.java
- 20. Git - osobny folder dla każdej gałęzi. Konfigurowanie
- 21. Konfigurowanie skryptu powłoki dla konfiguracji Vagrant
- 22. Konfigurowanie res srcDirs dla androidTest sourceSet
- 23. Eclipse: Konfigurowanie uruchamiania dla plików HTML/Javascript
- 24. Konfigurowanie strony serwerowej dla Google Cloud Messaging
- 25. Konfigurowanie rejestrowania dla wtyczki Jetty's maven?
- 26. Konfigurowanie Appstatów Java GAE dla zadania cron
- 27. Konfigurowanie i2c na Raspberry Pi dla C?
- 28. Konfigurowanie zewnętrznego źródła danych dla Elastic MapReduce
- 29. Konfigurowanie IIS7.5 dla lokalnego rozwoju ASP.Net
- 30. Konfigurowanie EHCache dla Spring 3.1.1 i Hibernate
do faceta, który pod redakcją "rzeka" do "kierowca" - to miało być rzeka. –