2012-05-23 3 views
16

Я пытаюсь получить гистограмму для некоторых событий, которые я проиндексировал, но я хочу только в ответе «результаты фасета», а не результаты поиска + фасета.Результаты фазировки ElasticSearch без документа

Это пример запроса я бегу:

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

Таким образом, в результате я хочу иметь только

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

часть, без всех документов, соответствующих запрос ,

Возможно ли это?

Большое спасибо.

ответ

28

Вы можете использовать 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" 
     } 
    } 
    } 
} 
' 

В качестве альтернативы, вы можете установить "size":0 на ваш запрос, но он будет менее эффективным:

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 = счетчик теперь осуждается https: // www.elastic.co/guide/en/elasticsearch/reference/current/breaking_21_search_changes.html – ymonad

Смежные вопросы