curl を実行すると、適切な結果と統計ファセットも表示されますが、Java API では適切な結果が表示されません
curl http://localhost:9200/Data/my_data/_search?pretty=true -d '{
"fields" : ["price","total"],
"query" : {
"filtered": {
"query":{
"bool": {
"must": [
{"term" : { "empId" : "1" }},
{
"range": {
"datetime" : {"gte" : "2005-12-23T23:10:52Z", "lte" : "2005-12-23T23:10:56Z" }}
},
{
"range": {
"price" : {"gt" : 0 }}
},
{
"range": {
"total" : {"gt" : 0 }}
}
]
}
}
}
},
"facets" : {
"stat1" : {
"statistical" : {
"field" : "price"
}
}
}
}'
以下は私のJavaコードです:
QueryBuilder qb2 = boolQuery()
.must(termQuery("empId", 1))
.must(rangeQuery("price").gt(0))
.must(rangeQuery("total").gt(0))
.must(rangeQuery("datetime").gte("2005-12-23T23:10:52Z").lte("2005-12-23T23:10:56Z"));
SearchResponse respStats = client.prepareSearch(indexName)
.setTypes(indexType)
.setSearchType(SearchType.QUERY_THEN_FETCH)
.setQuery(QueryBuilders.filteredQuery(qb2 ,null))
.addFields("empId","price","datetime")
.addFacet(statisticalFacet("FacetCountStats").field("price"))
.setFrom(0)
.setExplain(false)
.execute()
.actionGet();
しかし、それは私が望んでいない価格と合計のゼロ値を示しています。
前もって感謝します。