Sé que la búsqueda elástica brinda un buen soporte para json anidado. Tiene muy buen soporte para nested objects con indexación avanzada.
Entonces, cuando realizo una nested query en la búsqueda elastic search , ¿se puede obtener el query result en original nested form ? ¿O es el query result en flattened form como en lucene o solr ?
Nota: he usado apache solr y lucene antes. Y estoy evaluando otras plataformas de búsqueda diferentes para una mejor compatibilidad con los objetos json anidados.
Te estoy dando un ejemplo simple de resultados manteniendo la profundidad.
PUT personas { "asignaciones": { "lista": { "propiedades": { "nombre": { "tipo": "anidado" } } } } }
PUT personas/lista/1 { "edad" : "19", "nombre" : [ { "primero" : "Juan", "último" : "Smith" } ] }
PUT personas/lista/2 { "edad": "23", "nombre": [ { "primero": "Wilber", "último": "Smith" } ] }
OBTENER personas/lista/_buscar { "consulta": { "coincidir_todos": {} } }
Según tengo entendido, preferirá el mapeo anidado al mapeo de objetos. Porque el objeto aplanaría los resultados. Consulte esto como referencia: https://www.elastic.co/guide/en/elasticsearch/reference/2.4/nested.html