У меня есть поле в некоторых моих документах, если они были запрошены ранее, что является отметкой времени Unix:
"timelock": 1,561,081,724.254
В некоторых документах этого нет, если они никогда не запрашивались индивидуально,Я также хотел бы иметь запрос, который возвращает только документы, которые либо НЕ имеют поля, либо имеют поле, но разница между его отметкой времени и текущим временем превышает 10 минут (600 с)
documents = es.search(index='index', size=10000, body={
"query": {
"bool": {
"must": [
{
"match_all": {}
},
],
"filter": [],
"should": [],
"must_not": [
]
}
}})
Так что я думаю, что в псевдокоде я бы сделал это следующим образом:
if 'timelock' exists:
if current_time - 'timlock' > 600:
include in query
else:
exclude from query
else:
include in query
Я использую модуль python для ES.