我是新來與彈性搜索聚合和一直停留了幾個小時,從這個環節採取了這種非常簡單的例子:https://www.elastic.co/guide/en/elasticsearch/guide/1.x/_aggregation_test_drive.html彈性搜索1.x的Java API的聚合
基本上我試圖做這個非常簡單的工作聚集的Java API的版本:
http://localhost:9200/cars/transactions/_search?search_type=count
{
"aggs" : {
"colors" : {
"terms" : {
"field" : "color"
}
}
}
}
,這是我試圖構建Java版本,但它返回空水桶:
SearchResponse sr = client
.prepareSearch("cars")
.setTypes("transactions")
.setSearchType(SearchType.COUNT)
.addAggregation(AggregationBuilders.terms("colors").field("color"))
.execute()
.actionGet();
雖然使用彈性DSL我得到一個適當resopnse按顏色分組的桶,但與Java版本我得到一個空桶。
更新:原來的代碼是正確的,我有這個問題是關係到一個測試用例使用它,反對它的作品正在運行的集羣中使用。
OMG ...巨大的facepalm在這裏..實際上,只是經過測試和代碼工作,我遇到的問題是因爲我有這個內部的測試用例,出於某種原因,有些查詢會對嵌入式彈性適當的工作,而這一個失敗...不知道是什麼原因造成的,但是的,針對正在運行的羣集進行測試。 –