0
私はESにこの要求を送信しています:日付フィールド上ElasticSearch用語集約
{
"aggregations" : {
"followUpActivity.metainfo.metainfos.date1" : {
"terms" : {
"field" : "metainfos.date1",
"missing" : "2016-07-20T13:59:06.208Z",
"order" : {
"_count" : "desc"
}
}
}
}
}
これが結果です:あなたはmetainfos.date1_ldate
は二つの文書、しかしバケツに通知され見ることができるように
{
"took":1,
"timed_out":false,
"_shards":{
"total":1,
"successful":1,
"failed":0
},
"hits":{
"total":5,
"max_score":1.0,
"hits":[
{
"_index":"living_v1",
"_type":"fuas",
"_id":"4a4137ec-48fe-11e6-9f47-30b5c2122322",
"_score":1.0,
"_routing":"living_team",
"_source":{
"user":"living_team",
"timestamp":"2016-07-13T15:04:15.548Z",
"metainfos":{
"string1":[
"s1",
"s2"
]
}
}
},
{
"_index":"living_v1",
"_type":"fuas",
"_id":"4d526f8d-48fe-11e6-9f47-30b5c2122322",
"_score":1.0,
"_routing":"living_team",
"_source":{
"user":"living_team",
"timestamp":"2016-07-13T15:37:24.471Z",
"metainfos":{
"string1":[
"s1",
"s2"
]
}
}
},
{
"_index":"living_v1",
"_type":"fuas",
"_id":"89fc1180-48fe-11e6-9f47-30b5c2122322",
"_score":1.0,
"_routing":"living_team",
"_source":{
"user":"living_team",
"timestamp":"2016-07-13T13:43:18.566Z",
"metainfos":{
"string1":[
"s3"
]
}
}
},
{
"_index":"living_v1",
"_type":"fuas",
"_id":"7168393b-4daf-11e6-83ba-30b5c2122322",
"_score":1.0,
"_routing":"living_team",
"_source":{
"user":"living_team",
"timestamp":"2016-07-19T14:04:14.175Z",
"metainfos":{
"date1_ldate":[
"2016-07-19T12:59:55.442Z" <<<<<<<<<<<<<<<<<<<<<<
]
}
}
},
{
"_index":"living_v1",
"_type":"fuas",
"_id":"7af3f44f-48fe-11e6-9f47-30b5c2122322",
"_score":1.0,
"_routing":"living_team",
"_source":{
"user":"living_team",
"timestamp":"2016-07-13T14:18:49.328Z",
"metainfos":{
"string1":[
"s2"
],
"num1":[
12.0,
13.0
],
"date1_ldate":[
"2016-07-19T13:04:55.467Z", <<<<<<<<<<<<<<<<<
"2016-07-20T12:44:32.116Z" <<<<<<<<<<<<<<<<<
]
}
}
}
]
},
"aggregations":{
"followUpActivity.metainfo.metainfos.date1":{
"doc_count_error_upper_bound":0,
"sum_other_doc_count":0,
"buckets":[
]
}
}
}
結果は空です。
私は間違っていますか?
申し訳ありません!ご想像のとおり、Java APIを使用してこのリクエストを作成しています。私のスペルミスを変更した後、私はESのJava APIの代わりにDateTerms' 'のいくつかの種類の' LongTerms'を返し実現しました。私の日付を取得するために、この「LongTerms」集約をどのように扱うべきか知っていますか? – Jordi
フム...は、内部的に保存し、長い数値を意味するタイムスタンプなどの日付をES。 [LongTerms'のソースコード](https://github.com/elastic/elasticsearch/blob/master/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/LongTerms)を見ると、 .java#L33)私はあなたがそれを見るように、日付フィールドのためにそれを使うことを意図していたのを見ています。これは期待される動作です。私は 'java.util.Date'に' 'long'を受け取れるコンストラクタの一つ(https://docs.oracle.com/javase/7/docs/api/java/sql/Date)を使ってキャストすることをお勧めします。 html#Date(long))。 –
私は参照してください。うーん、長バケット値のソースが日付か長いかどうかを確認する方法はありますか? – Jordi