Elasticsearch seleccione campos específicos

Elasticsearch seleccione campos específicos

Elasticsearch devuelve el valor predeterminado de todos los campos en un documento al realizar una consulta de búsqueda. Esto se define por el parámetro _Source, que contiene todos los datos almacenados en el registro durante la indexación.

curl -xget "http: // localhost: 9200/netflix/_doc/hxyz_iblbuc0z3qken2?Pretty "-H" KBN -XSRF: Informes "

Producción:

Sin embargo, es posible que no desee recuperar todos los campos de un documento determinado. En este tutorial, aprenderá cómo seleccionar campos específicos de un documento.

Opción de campos de elasticsearch

El parámetro de los campos nos permite recuperar campos específicos en una solicitud de búsqueda. Además, el parámetro de campo nos permitirá obtener campos individuales o múltiples. También puede formatear fechas y tipos de datos espaciales utilizando el parámetro Fields.

Por ejemplo, supongamos que queremos recuperar los campos de índice, ID, título, Release_Year, enumerados, duración y calificación del índice de Netflix, podemos ejecutar una consulta como se muestra a continuación:

curl -xget "http: // localhost/netflix/_search" -h "kbn -xsrf: informes" -h "tipo de contenido: aplicación/json" -d '

"consulta":
"fósforo":
"_id": "hxyz_iblbuc0z3qken2"

,
"campos": [
"índice",
"identificación",
"título",
"año de lanzamiento",
"Listed_in",
"duración",
"clasificación"
],
"_source": falso
'

En la solicitud anterior, usamos la API de búsqueda para buscar el documento con la ID especificada en el parámetro de coincidencia.

Luego usamos el parámetro de campos para obtener los campos específicos del documento de destino.

Tenga en cuenta que el ELASTSearch predeterminado incluirá el parámetro _Source, que consiste en todos los campos de documentos. Para asegurarnos de que solo obtengamos los campos especificados, apagamos el parámetro _surce:

La solicitud anterior debe devolver una respuesta como se muestra:


"Tomado": 1,
"Timed_out": falso,
"_shards":
"Total": 1,
"exitoso": 1,
"omitido": 0,
"Falló": 0
,
"golpes":
"total":
"Valor": 1,
"Relación": "Eq"
,
"max_score": 1,
"golpes": [

"_index": "netflix",
"_id": "hxyz_iblbuc0z3qken2",
"_score": 1,
"campos":
"Listed_in": [
"Documentales"
],
"duración": [
"90 min"
],
"año de lanzamiento": [
2020
],
"Calificación": [
"PG-13"
],
"título": [
"Dick Johnson está muerto"
]


]

También puede usar el parámetro _surce para definir qué campos regresar de una consulta de búsqueda. A continuación se muestra un ejemplo:

curl -xget "http: // localhost: 9200/netflix/_search" -h "kbn -xsrf: informes" -h "tipo de contenido: aplicación/json" -d '

"_source": ["Título", "Release_Year", "Calificación", "Duración"],
"consulta":
"término":
"_identificación":
"Valor": "hxyz_iblbuc0z3qken2"



'

En este caso, especificamos los campos que deseamos recuperar como una matriz en el parámetro de origen. La solicitud anterior debe devolver la respuesta como se muestra:


"Tomado": 0,
"Timed_out": falso,
"_shards":
"Total": 1,
"exitoso": 1,
"omitido": 0,
"Falló": 0
,
"golpes":
"total":
"Valor": 1,
"Relación": "Eq"
,
"max_score": 1,
"golpes": [

"_index": "netflix",
"_id": "hxyz_iblbuc0z3qken2",
"_score": 1,
"_fuente":
"Duración": "90 min",
"Release_year": 2020,
"Calificación": "PG-13",
"Título": "Dick Johnson está muerto"


]

Conclusión

En este artículo, aprendió cómo obtener campos específicos de una solicitud de búsqueda utilizando los campos y los parámetros de _surce.

Para obtener más información sobre Elasticsearch y sus capacidades, consulte nuestros tutoriales sobre el tema. Estás garantizado para encontrar algo útil.

Gracias por leerte y atraparte en el siguiente!!