我在尝试构建 ElasticSearch 查询时遇到了很多麻烦。
我需要根据两个字段的总和获得前 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']