2012-05-23 1 views
16

Sto cercando di ottenere l'istogramma per alcuni eventi che ho indicizzato, ma voglio solo nella risposta i risultati 'facet risultati' e non i risultati di ricerca + facet.Risultati sfaccettatura ElasticSearch senza documento

Questo è un esempio della query sto correndo:

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

Così nel risultato voglio avere solo la parte

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

, senza tutti i documenti che soddisfano le condizioni .

È possibile?

Grazie mille.

risposta

28

È possibile utilizzare 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" 
     } 
    } 
    } 
} 
' 

In alternativa, è possibile impostare "size":0 per la tua ricerca, ma sarà meno efficiente: 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 = conteggio è ora sconsigliato: // www.elastic.co/guide/en/elasticsearch/reference/current/breaking_21_search_changes.html – ymonad