2012-05-23 4 views
16

Tôi đang cố gắng lấy biểu đồ cho một số sự kiện tôi đã lập chỉ mục, nhưng tôi chỉ muốn trả lời 'kết quả khía cạnh' chứ không phải kết quả tìm kiếm + khía cạnh.Kết quả khía cạnh ElasticSearch mà không cần tài liệu

Đây là một ví dụ về truy vấn Tôi đang chạy:

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

Vì vậy, trong kết quả tôi muốn có chỉ là một phần

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

, không có tất cả các tài liệu mà hợp với truy vấn .

Điều này có khả thi không?

Cảm ơn rất nhiều.

Trả lời

28

Bạn có thể sử dụng 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" 
     } 
    } 
    } 
} 
' 

Ngoài ra, bạn có thể thiết lập "size":0 để truy vấn của bạn, nhưng nó sẽ ít hiệu quả: 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 = count hiện đang bị phản đối: // www.elastic.co/guide/en/elasticsearch/reference/current/breaking_21_search_changes.html – ymonad