ElasticSearch クエリを構築しようとすると、非常に多くの問題が発生します。
2 つのフィールドの合計に基づいて、上位 25 のツイートを取得する必要がfavoritesCount
ありretweetCount
ます。また、フィールドで日付範囲を指定できる必要がありますpostedCount
。
これまでのところ、私が来ることができた最も近いものは
query = {
'size' : 25,
'fields' : ['retweetCount', 'favoritesCount', 'preferredUsername', 'body'],
"query": {
"range": {
"postedTime" : {
'gte' : 'now-24M',
'lte' : 'now'
}
}
},
"sort" : {
"retweetCount" : {"order" : "desc"},
"type" : "number",
}
};
このクエリでは、結果が多すぎて、同じリツイート数のツイートの総数で並べ替えられます。また、このクエリがクエリで指定されたフィールドだけを返さない理由もわかりません。
理想的には、クエリはフィールド '['retweetCount', 'favoritesCount', 'preferredUsername', 'body'] のみを返します。