aws - elasticsearch tutorial
Elasticsearch: ¿cómo devolver solo datos, no metainformación? (2)
Al menos puede filtrar los resultados, incluso si no puede extraerlos. La página de " opciones comunes " de la API REST explica la opción "ruta de filtro". Esto le permite filtrar solo las partes del árbol en el que está interesado. La estructura del árbol sigue siendo la misma, pero sin los metadatos adicionales.
Generalmente añado la opción de consulta:
&filter_path=hits.hits.*,aggregations.*
La documentación no dice nada sobre esto, lo que hace que tu consulta sea más rápida (dudo que lo haga), pero al menos podrías devolver solo las partes interesantes.
- Corregido para mostrar solo hits.hits. *, Ya que los "hits" de nivel superior también tienen metadatos.
Al realizar una búsqueda, Elasticsearch devuelve una estructura de datos que contiene diversos metainformaciones.
El conjunto de resultados real está contenido dentro de un campo de "aciertos" dentro del resultado JSON devuelto por la base de datos.
¿Es posible que Elasticsearch devuelva solo los datos necesarios (el contenido del entonces campo "hits") sin estar incrustado en todos los demás metadatos?
Sé que podría analizar el resultado en JSON y extraerlo, pero no quiero la complejidad, la molestia, el impacto en el rendimiento.
¡Gracias!
Aquí hay un ejemplo de la estructura de datos que devuelve Elasticsearch.
{
"_shards":{
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits":{
"total" : 1,
"hits" : [
{
"_index" : "twitter",
"_type" : "tweet",
"_id" : "1",
"_source" : {
"user" : "kimchy",
"postDate" : "2009-11-15T14:12:12",
"message" : "trying out Elastic Search"
}
}
]
}
}
No, no es posible en este momento. Si el rendimiento y la complejidad del análisis son las principales preocupaciones, es posible que desee considerar el uso de diferentes clientes: el cliente Java o el complemento Thrift , por ejemplo.