tutorial puertos api search schema dsl elasticsearch

api - puertos - ¿Cómo puedo consultar elasticsearch para un solo tipo de registro?



elasticsearch tutorial (4)

Estoy realizando una consulta a elasticsearch y obtengo varios tipos de registros. ¿Cómo limito los resultados a un tipo?


En la versión 2.3 puedes consultar el campo de tipo como:

{ "query": { "terms": { "_type": [ "type_1", "type_2" ] } } }

O si quieres excluir un tipo:

{ "query": { "bool" : { "must_not" : { "term" : { "_type" : "Hassan" } } } } }



También puede usar la consulta dsl para filtrar los resultados para un tipo específico como este:

$ curl -XGET ''http://localhost:9200/_search'' -d ''{ "query": { "filtered" : { "filter" : { "type" : { "value" : "my_type" } } } } } ''

Actualización para la versión 6.1: El filtro de tipo ahora se reemplaza por la consulta de tipo: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-type-query.html Puede usar eso en ambas consultas y Filtrar contextos.


{ "query" : { "filtered" : { "filter" : { "bool" : { "must" :[{"term":{"_type":"UserAudit"}}, {"term" : {"eventType": "REGISTRATION"}}] } } } }, "aggs":{ "monthly":{ "date_histogram":{ "field":"timestamp", "interval":"1y" }, "aggs":{ "existing_visitor":{ "terms":{ "field":"existingGuest" } } } } } }

"_type": la condición "UserAudit" buscará los registros solo específicos para el tipo