Я знаю, что существует несколько альтернативных клиентов elasticsearch для python за пределами this one. Однако у меня нет доступа к ним. Как написать запрос с логикой «меньше или равно» для метки времени? Мой нынешний способ сделать это:Python elasticsearch range query
query = group_id:" + gid + '" AND data_model.fields.price:' + price
less_than_time = # datetime object
data = self.es.search(index=self.es_index, q=query, size=searchsize)
hits = data['hits']['hits']
results = []
for hit in hits:
time = datetime.strptime(hit['_source']['data_model']['utc_time'], time_format)
dt = abs(time - less_than_time).seconds
if dt <= 0:
results.append(hit)
Это действительно неуклюжий способ сделать это. Есть ли способ сохранить генерацию запроса с помощью строк и включить диапазон?
ли вы хотите только запрос? У меня есть небольшой скрипт, который генерирует правильный запрос (для меня), который я использую с помощью es2csv. Он генерирует правильный json-запрос – pandaadb
@pandaadb да, мне нужен код для генерации запроса. В принципе, возможность генерации запросов на основе «lte» или «gte» условностей. –