De acuerdo, he buscado en todo el mundo en Internet algún tipo de documentación sobre cómo configurar MongoDB y Elasticsearch. Parece que hay un plugin de Mongodb river en el repositorio elástico principal de github, pero no hay documentación. ¿Alguien ha conseguido estas dos hermosas tecnologías para trabajar juntas?Configurando el río MongoDB para Elasticsearch
Respuesta
Esta es una pregunta bastante antigua, pero solo publicaré mi respuesta en caso de que otros se pregunten la misma pregunta, especialmente con las nuevas versiones de ES que salen todo el tiempo. Me tomó un tiempo hacer que mi ES también funcionara con MongoDB.
En primer lugar, supongo que tiene instalado ES y MongoDB. Asegúrese de tener habilitados los oplogs si no está utilizando conjuntos de réplicas. Consulte here sobre cómo hacerlo.
El complemento del río tiene una dependencia (elasticsearch-mapper-attachments), ASEGÚRESE de instalarlo primero para evitar problemas más adelante. Este wiki tiene los comandos necesarios que necesita para instalar los complementos. Tome nota del enlace de descarga alternativo para el complemento de río si está utilizando ES 0.20.2 y superior.
Reiniciar ES.
Utilice el siguiente comando para habilitar la indexación:
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" } }'
Para hacer una búsqueda, use
curl -XGET 'http://localhost:9200/mongoindex/_search?q=field:value'
llegué mayor parte de mi información de this website, pero sentí que podía ser optimizado mucho más, de ahí mi propio enfoque.
Funciona en ciertas configuraciones. Las versiones de elasticsearch river plugin y mongodb podrían ser esenciales para que funcione todo el sistema.
Aquí es pasos para reproducir el entorno de trabajo
1) utilizar elasticsearch versión 1.2.4. El paquete para Ubuntu se encuentra aquí: https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.2.4.deb
instalarlo con dpkg -i /path/to/elasticsearch-1.2.4.deb
2) instalar el plugin río y sus dependencias:
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
versiones más recientes de asignador atachments plug-in están disponibles, pero wiki oficial de El plugin de mongo river sugiere usar 1.9.0.
3) MongoDB v2.4.9 seguramente funciona con el plugin elasticsearch river. asegurarse mongod se puso en marcha con --replSet rs0
o si tiene replSet=rs0
en mongod.conf
A continuación, usted debe estar seguro de que conjunto de réplicas se inicia en mongodb: entrada a Mongo consola:
mongo
A continuación, escriba:
rs.initiate()
rs.status()
4) Se han hecho los preparativos, ahora debe iniciar el plugin elasticsearch river. Suponiendo que elasticsearch se estén ejecutando en el servidor local: 9200 y mongodb está en 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) comprobar rs.config() en el servidor mongo. Debe contener nombres de host resolubles o ips para los miembros del conjunto de réplicas que podrían ser contactados por el plugin de mongodb river. El complemento del río Elasticsearch se conectará al host especificado en mongodb.servers y obtendrá la configuración de la réplica. A continuación, intentará conectarse al host principal de la réplica establecida por el nombre de host especificado en rs.config(). Si está a punto de usar contenedores docker para interconectar monogdb y elasticsearch a través del plugin River, eso es un problema.
Se podría actualizar rs config de la siguiente manera:
mongo
y luego en mongo shell
cfg = rs.config()
cfg.members[0].host = "12.34.56.78:27017"
rs.reconfig(cfg)
- 1. configurando elasticSearch con Postgresql
- 2. Playframework + Morphia + MongoDb + ElasticSearch = Disater?
- 3. elasticsearch v.s. MongoDB para la aplicación de filtrado
- 4. Configurando Eclipse para MinGW
- 5. configurando el formato de fecha para NSDateFormatter
- 6. ¿Configurando el lenguaje para TTS programáticamente?
- 7. Configurando el dispositivo para enviar correos electrónicos
- 8. El mapeo ElasticSearch no funciona
- 9. ElasticSearch Stemming
- 10. Configurando Django para usar SQLAlchemy
- 11. Configurando una cookie para cURL para usar
- 12. configurando ssl en el dispositivo
- 13. ¿Configurando el lenguaje WordPress programáticamente?
- 14. Cliente HTTP de Java para ElasticSearch
- 15. ElasticSearch + Tire: buena estrategia para burlar ES
- 16. Mantener elasticsearch y la base de datos en sincronía
- 17. ElasticSearch: Indexe solo los campos especificados en la asignación
- 18. Confusión entre asignaciones y tipos en ElasticSearch
- 19. elasticsearch insertar objetos en el índice
- 20. Cómo indexar el código fuente con ElasticSearch
- 21. Personalizando el algoritmo de búsqueda de Elasticsearch
- 22. Elasticsearch actuaciones esperables
- 23. Elasticsearch: Resaltar hits desde el archivo adjunto
- 24. Analizadores en elasticsearch
- 25. Elasticsearch - Asignar fragmentos
- 26. configurando Tomcat para aprovechar el almacenamiento en caché del navegador?
- 27. ¿Configurando el formato de fecha predeterminado para datepicker?
- 28. Configurando el entorno de desarrollo local para Umbraco
- 29. Qué ventajas ofrece MongoDB sobre ElasticSearch como base de datos NoSQL solamente
- 30. ¿Configurando credenciales para una aplicación WCF?
Para el tipo que editó "río" a "conductor" - que estaba destinado a ser río. –