Consulta ElasticSearch - API de búsqueda
Para implementar la consulta y el análisis de los datos almacenados en ES, la palabra clave utilizada es _search, como la siguiente API.
Pequeño ejemplo: consultar el documento java contenido en el campo de trabajo, The Los resultados se ordenan en orden ascendente según el atributo de edad y se devuelve el primer documento. Si no finaliza durante más de 1 segundo, finaliza con un tiempo de espera.
La concordancia de varias palabras está separada por espacios y la relación entre las palabras es "o"
Si desea utilizar la concordancia de palabras, debe utilizar comillas dobles
Las consultas genéricas ya se han demostrado antes, es decir, consultas como q = xiaoming que no especifican términos de búsqueda. Por el contrario, si especifica campos, puede limitar significativamente su búsqueda. Una forma común de especificar un campo es Campo:SearchConditionCharacter.
SearchURI también puede utilizar operadores booleanos de tipo DSL y Consulta, pero las reglas de uso específicas son ligeramente diferentes. Las reglas específicas son las siguientes:
Cabe señalar que el "+". " signo Se analizará como espacios en la URL. Para utilizar el resultado codificado para que funcione correctamente, debemos reemplazarlo con %2B.
La consulta de rango admite rango de datos y rango de fechas. Hay dos métodos para escribir expresiones específicas:
La consulta URI admite consultas difusas utilizando caracteres comodín, y * representa uno. o más caracteres
Nota: la coincidencia de comodines es ineficiente y ocupa mucha memoria, por lo que no se recomienda cuando la cantidad de datos es grande
Si no tiene ningún carácter especial necesita, por favor no lo use?
El URI de consulta nos permite usar expresiones regulares para buscar
Cuando no estamos seguros de los caracteres de condición de búsqueda, el URI de consulta nos permite usar valores aproximados como condiciones para consultas difusas. Esto es diferente de los comodines, que generalmente se basan en lo que sabemos sobre un cierto rango de caracteres. Esto es diferente de los comodines anteriores, que a menudo se basan en el contenido de un cierto rango de un determinado carácter (por ejemplo, si el resultado final es xiaoming, podemos hacer coincidir según los caracteres que conocemos, como xiao*, * ming). Una coincidencia aproximada puede ser una concatenación de muchas coincidencias aproximadas.
Solicitar búsqueda de texto, como su nombre indica, consiste en agregar el texto de solicitud al texto a buscar. Hemos aprendido mucho sobre la sintaxis de Query URI en la Sección 2 y podemos pensar que ya es muy poderosa, pero de hecho, Query DSL que se presentará en la Sección 3 será más poderosa y flexible, y no solo admitirá toda la sintaxis para Escritura de URI, pero también admite consultas de sintaxis más avanzadas. Este es también uno de los métodos de búsqueda más habituales en nuestro trabajo diario.
Las consultas basadas en campos se pueden dividir en concordancia de texto completo y concordancia de palabras. La diferencia entre las dos es si la declaración de la consulta realizará procesamiento de textos, concordancia de texto completo (coincidencia, frase_concordancia) y concordancia de palabras. (término, términos, rango) no lo hará.
Este método se utiliza para recuperar campos y los campos están ordenados
La consulta de cadena de consulta es en realidad equivalente al cuerpo de solicitud de consulta URI
La consulta de cadena de consulta simple y La cadena de consulta es similar, pero se ignora la sintaxis de consulta incorrecta y solo se admite la sintaxis de consulta parcial. Los símbolos lógicos de uso común son los siguientes: no se deben usar palabras clave como AND, OR, NOT, pero se deben usar + |
La consulta de términos consulta la declaración de la consulta como una palabra completa, es decir, no divide la declaración de la consulta.
La consulta de términos es similar a la consulta de términos, excepto que esta última puede admitir simultáneamente concordancia múltiple de palabras completas
La consulta DSL nos permite utilizar la concordancia de rango mediante consultas de rango.
Explicación adicional:
Como podemos ver, las consultas basadas en campos enumeradas anteriormente solo se aplican a consultas de un solo campo. Cuando hay varios campos involucrados, la coincidencia de consultas basadas en campos. y El término API ya no será útil. La forma de satisfacer estas necesidades de búsqueda de múltiples campos es utilizar consultas compuestas.
- La consulta compuesta es un tipo de consulta que contiene consultas de clase de campo o consultas compuestas, incluidas las siguientes categorías: consulta de puntuación constante, consulta booleana, consulta dis_max, consulta de puntuación de función, consulta de impulso
Aquí , estamos hablando de consultas booleanas
Cuando no necesitamos obtener información detallada del documento, sino que solo necesitamos obtener la cantidad de documentos visitados, podemos usar el conteo para obtener el resultado que queremos.
Cuando solo necesitamos obtener el valor del campo especificado en el documento de visita, podemos usar fuente para especificar el valor que necesitamos que devuelva es.