Notas de consulta básicas para elasticsearch (3): resumen de consulta es
El DSL correspondiente en ES es el siguiente:
En ES5 x y superiores, el tipo de cadena debe establecerse en palabra clave o tipo de texto para que el valor coincida exactamente según el tipo.
Al realizar consultas de valores exactos, puede utilizar filtros porque los filtros se ejecutan muy rápidamente y no calculan la correlación (ES calculará las puntuaciones de las consultas) y los resultados de las consultas de filtrado son fáciles de almacenar en caché.
Componente de filtro booleano:
Cuando necesitamos múltiples filtros, solo necesitamos colocarlos en diferentes partes del filtro booleano.
Los términos incluyen lo siguiente:
Los nombres incluyen ["O'Neal", "Trac McGrady"].
Resultados devueltos:
Las consultas de rango pueden proporcionar dos expresiones de rango, incluyendo y excluyendo. Las opciones de combinación son las siguientes:
Similar al rango en SQL. Consulta:
El DSL correspondiente en ES es el siguiente:
El siguiente sql, la edad no está vacía:
El DSL correspondiente en ES es el siguiente:
El siguiente sql, edad está vacío:
El DSL correspondiente en ES es el siguiente:
Nota: La consulta que falta ya no existe en la versión 5. incógnita.
Coincide con documentos que contienen caracteres de prefijo no analizados:
Coincide con documentos con campos que coinciden con la expresión comodín ((sin analizar)). Comodines admitidos:
1) *coincide con cualquier secuencia de caracteres (incluida la secuencia de caracteres vacía);
2) ?Coincide con cualquier carácter individual.
Tenga en cuenta que esta consulta puede ser lenta porque necesita iterar sobre varios términos.
Para evitar consultas con comodines muy lentas, el comodín no puede ser * * * * o ? Iniciar
Consulta de expresión regular le permite realizar consultas utilizando términos de expresión regular.
Los ejemplos son los siguientes:
Nota: La coincidencia de * será muy lenta y requiere el uso de un prefijo largo.
Por lo general, más o menos lo mismo. *? Las consultas con comodines tendrán un rendimiento de recuperación general deficiente.
Una consulta difusa encuentra todas las coincidencias posibles dentro de la distancia máxima de edición especificada en la información difusa y luego verifica el diccionario de términos para encontrar las palabras clave que se recuperarán en el índice.
Por ejemplo:
Recuperar toda la información en el índice test_index de tipo usuario. Pero en la versión es6.x, un índice tiene solo un tipo, y en la futura versión es7.x, este tipo se cancelará, por lo que esta consulta no tiene sentido.
Devuelve toda la información del id especificado.
La consulta de búsqueda de texto completo consiste en analizar las condiciones de la consulta a través del analizador y luego realizar una consulta de texto completo en el dominio de texto completo.
La búsqueda de texto completo depende del analizador configurado en el mapeo y utiliza el guión ik en el mapeo.
Entonces, en el proceso de desarrollo de consultas, primero debemos comprender el mapeo del índice para poder elegir el método de consulta.
Coincide con los tipos de texto/número/fecha aceptados por la consulta, los analiza y construye la consulta.
Consulta los segmentos de los parámetros entrantes y busca documentos con las mismas palabras.
La consulta Match_phrase analiza el texto y crea una consulta de frase a partir del texto analizado.
Los usuarios se han acostumbrado a que se les muestren los resultados de la búsqueda antes de terminar de escribir su consulta, lo que se denomina búsqueda instantánea o búsqueda a medida que se escribe.
Los usuarios no solo pueden obtener resultados de búsqueda en menos tiempo, sino que también podemos guiarlos para que busquen resultados reales en el índice.
Por ejemplo, si el usuario ingresa johnnie walker bl, queremos obtenerlo antes de que termine de ingresar los criterios de búsqueda: johnnie walker etiqueta negra y johnnie walker etiqueta azul.
Match_phrase_prefix es lo mismo que Match_phrase, excepto que permite la coincidencia de prefijos en la última palabra del texto.