[ES desde la entrada al combate real] Diez, búsqueda de texto completo-ElasticSearch-Advanced-QueryDSL uso básico & match_all

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": {}
  }
}

Inserte la descripción de la imagen aquí

  • 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

Inserte la descripción de la imagen aquí

2), devuelve algunos campos

GET /bank/_search
{
    
    
  "query": {
    
    
    "match_all": {
    
    }
  },
  "sort": [
    {
    
    
      "balance": {
    
    
        "order": "desc"
      }
    }
  ],
  "from": 0,
  "size": 5,
  "_source": ["balance","firstname"]
}

Devuelve solo _sourceen el campo especificado, similar en MySQLselect field_1,field_2,... from table
Inserte la descripción de la imagen aquí

Referencia document-query-dsl


referencia:

Referencia de Elasticsearch

elástico

Introducción al motor de búsqueda de texto completo Elasticsearch

Supongo que te gusta

Origin blog.csdn.net/runewbie/article/details/106341629
Recomendado
Clasificación