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

时间:2018-05-04 08:10:58

标签: elasticsearch elasticsearch-py

我有一个带有workingHour的索引作为包含day,stat和end的嵌套对象。 class WorkingHourIndex(InnerDoc): day = Keyword() start = Date() end = Date()

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

1 个答案:

答案 0 :(得分:1)

这样的事情可能有用:

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)