我如何过滤查询范围内的存在?

How can i Filter an exists in a range like query?

我有一个索引,workingHour 是一个包含日期、统计和结束的嵌套对象。 class WorkingHourIndex(InnerDoc): day = Keyword() start = Date() end = Date()

当我搜索文档时,现在所有内容都已正确编入索引,我想用日期和时间执行查询,我希望 elasticsearch 检查日期是否存在,如果存在,开始和之间是否存在时间结束。

类似这样的方法可能有效:

day_query = Q('term', working_hours__day='DAY_I_NEED')
time_query = Q('range', working_hours__start={'lt': TS}) & Q('range', working_hours__end={'gt': TS})
Search().query('nested', path='working_hours', query=day_query & time_query)