Estas son realmente muchas preguntas disfrazadas como una sola. Sin embargo:
¿Cómo puedo almacenar la configuración de elasticsearch + mapeos en un archivo (como schema.xml para Solr)?
En primer lugar, la nota, que usted no ha para especificar la asignación de un montón de tipos, tales como fechas, números enteros, o incluso cadenas (cuando el analizador por defecto está bien para usted).
Puede almacenar la configuración y las asignaciones de varias maneras, en Elasticsearch < 1.7
:
- En el principal elasticsearch.yml file
- En un índice template file
- En un separate file with mappings
Actualmente, cuando quiero hacer un cambio en mi asignación, tengo que eliminar la configuración de mi índice y comenzar de nuevo. ¿Me estoy perdiendo de algo?
Tiene que volver a indexar los datos cuando cambia la asignación de un campo existente. Una vez que sus documentos están indexados, el motor debe reindexarlos, para usar la nueva asignación.
Tenga en cuenta que puede update index settings, en casos específicos, como number_of_replicas
, "sobre la marcha".
Me gustaría poder modificar la configuración y cómo reindexar sin comenzar completamente nuevo cada vez. ¿Es posible? y si lo es, cómo?
Como se ha dicho: usted debe indexar sus documentos, si desea utilizar una nueva asignación para ellos.
Si está agregando, sin cambiar la asignación, puede actualizar las asignaciones, y los documentos nuevos la recogerán cuando se indexen.
Disculpa las múltiples preguntas. Era todo un escenario para mí, ya que no me había replanteado el índice sin comenzar todo el proceso. Gracias por su respuesta. Actualmente estoy modificando mapeos específicamente usando los tokenizadores de NGram y edgeNGram y, en un intento por hacer las cosas bien, tuve que volver a escribirlos. – jbattle
He colocado mis asignaciones + configuraciones dentro de un script de shell para que la creación y configuración de mi índice sea un proceso más rápido. – jbattle
Sí, en la mayoría de los escenarios, tiene sentido ajustar la creación de índice en un procedimiento personalizado (podría ser script de shell, método de clase en Ruby, etc.). Solo quería apuntar a muchas maneras en que ElasticSearch te permite "ajustar" la lógica de asignación/configuración en el nivel del motor de búsqueda. – karmi