我有一个ES群集,其中包含一些汇总的数值数据,因此每天恰好有1条记录。我想编写一个查询,该查询将返回一周中特定日期的文档。例如,星期二的所有记录。目前,我正在通过获取所需日期范围内的所有记录,然后过滤掉所需日期的记录来进行此操作。有没有办法通过查询做到这一点?
答案 0 :(得分:1)
您可以使用以下脚本来做到这一点:
POST my_index/_search
{
"query": {
"script": {
"script": {
"source": "doc.my_date.value.dayOfWeek == 2"
}
}
}
}
如果要经常运行此查询,最好在文档中创建另一个字段dayOfWeek
,该字段包含星期几,然后可以使用术语查询方便地查询。它将比脚本更有效。