2012-05-23 14 views
16

Estoy tratando de obtener el histograma para algunos eventos que he indexado, pero solo quiero en la respuesta los resultados de 'facetas' y no los resultados de búsqueda + facetas.ElasticSearch facet results without document

Este es un ejemplo de la consulta Estoy corriendo:

curl -XGET 'http://localhost:9200/main/events/_search?pretty=true' -d ' 
{ 
    "facets" : { 
    "histo1" : { 
     "query" : { 
      "query_string" : {"query":"*:*"} 
     }, 
     "date_histogram" : { 
      "field" : "time", 
      "interval" : "minute" 
     } 
    } 
    } 
} 
' 

lo tanto, en el resultado que desea tener sólo la parte

"facets" : { 
"histo1" : { 
    "_type" : "date_histogram", 
    "entries" : [ { 
    "time" : 1337700000, 
    "count" : 76 
    } ] 
} 

, sin todos los documentos que corresponden a la consulta .

¿Esto es posible?

Muchas gracias.

Respuesta

28

Puede utilizar count search_type:

curl -XGET 'http://localhost:9200/main/events/_search?search_type=count&pretty=true' -d ' 
{ 
    "facets" : { 
    "histo1" : { 
     "query" : { 
      "query_string" : {"query":"*:*"} 
     }, 
     "date_histogram" : { 
      "field" : "time", 
      "interval" : "minute" 
     } 
    } 
    } 
} 
' 

Como alternativa, se puede establecer "size":0 a la consulta, pero será menos eficiente: https

curl -XGET 'http://localhost:9200/main/events/_search?pretty=true' -d ' 
{ 
    "facets" : { 
    "histo1" : { 
     "query" : { 
      "query_string" : {"query":"*:*"} 
     }, 
     "date_histogram" : { 
      "field" : "time", 
      "interval" : "minute" 
     } 
    } 
    }, 
    "size":0 
} 
' 
+0

search_type = cuenta ahora es obsoleto: // www.elastic.co/guide/en/elasticsearch/reference/current/breaking_21_search_changes.html – ymonad