spring data elasticsearch term 聚合問題


 

terms  的聚合操作:
TermsAggregationBuilder termsAggregationBuilder = AggregationBuilders.terms("xxx").field("xxx");
有錯誤:

{ "error" : "JsonGenerationException[Can not write a field name, expecting a value]"}

解決辦法:
0 實際可以不用管,忽略
1 在SearchResponse的toString()的內容如下, 這個內容就是查詢的JSON結果,這里面的JSON結果的結構與SearchResponse的API操作相配套使用可以獲取到里面的每一個值。

 

agg聚合后提示:

"message": "Could not write JSON: show_terms_doc_count_error is false; nested exception is com.fasterxml.jackson.databind.JsonMappingException: show_terms_doc_count_error is false (through reference chain: org.springframework.data.elasticsearch.core.aggregation.impl.AggregatedPageImpl[\"aggregations\"]->org.elasticsearch.search.aggregations.InternalAggregations[\"asMap\"]->java.util.Collections$UnmodifiableMap[\"campaign\"]->org.elasticsearch.search.aggregations.bucket.terms.LongTerms[\"buckets\"]->java.util.ArrayList[0]->org.elasticsearch.search.aggregations.bucket.terms.LongTerms$Bucket[\"docCountError\"])",
參考:
https://www.elastic.co/guide/en/elasticsearch/reference/5.6/search-aggregations-bucket-terms-aggregation.html#_per_bucket_document_count_error

設置:
termsAggregationBuilder.showTermDocCountError(true);

就可以解決

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM