Continuar con la sección 9
2 、 Consulta DSL
El formulario utilizado en la sección anterior es
GET /bank/_search { "query": { "match_all": { } }, "sort": [ { "account_number": "asc" }, { "balance": "desc" } ] }
El estilo del lenguaje de consulta, lo llamamos
Query DSL
.
1), formato de sintaxis básico
Elastisearch proporciona un DSl (lenguaje específico de dominio) estilo Json que puede realizar consultas. Esto se llama Query DSL.
El lenguaje de consulta es muy completo y se siente un poco complicado al principio, la forma de aprenderlo es comenzando con algunos ejemplos básicos.
- Estructura típica de una declaración de consulta
{
QUERY_NAME:{
ARGUMENT: VALUE,
ARGUMENT: VALUE,
...
}
}
P.ej:
GET /bank/_search
{
"query": {
"match_all": {}
}
}
- Si es para un campo, su estructura es la siguiente:
{
QUERY_NAME:{
FIELD_NAME:{
ARGUMENT: VALUE,
ARGUMENT: VALUE,
...
}
}
}
P.ej:
GET / bank / _search { "query": { "match_all": {} }, "sort": [ { "balance": { "order": "desc" } } ], "from": 0, "size" : 5 } |
---|
-query define cómo realizar la consulta; -match_all tipo de consulta [representa toda la consulta], es puede combinar muchos tipos de consulta en la consulta para completar consultas complejas -además de los parámetros de consulta, también podemos pasar otros parámetros para cambiar la consulta resultado. Tales como clasificación, tamaño; -desde + límite de tamaño, complete la función de paginación; -ordenar clasificación, clasificación de campos múltiples, los campos subsiguientes se ordenarán internamente cuando los campos anteriores sean iguales, de lo contrario prevalecerá el orden anterior |
2), devuelve algunos campos
GET /bank/_search
{
"query": {
"match_all": {
}
},
"sort": [
{
"balance": {
"order": "desc"
}
}
],
"from": 0,
"size": 5,
"_source": ["balance","firstname"]
}
Devuelve solo _source
en el campo especificado, similar en MySQLselect field_1,field_2,... from table
referencia:
Introducción al motor de búsqueda de texto completo Elasticsearch