Как я могу сделать несколько поисковых запросов в пределах одного URI в ElasticSearch?
Я пытаюсь получить результаты индекса, отправив HTTP-вызов GET от Почтальона как для диапазона дат, так и для поля ("log_type"), которое я добавил вручную,
Так что сейчас я могу получить результаты, когда я запрашиваю его индивидуально, например:
Диапазон дат: http://localhost:9200/dialog_test/_search?q=timestamp:[2016-08-05+TO+2016-08-06]
log_type: http://localhost:9200/dialog_test/_search?q=log_type:GetProvisioning%20SUCCESS
В приведенном выше URL (log_type), GetProvisioning Success - это log_type.
Итак, я хотел знать, как я могу объединить их в один запрос, чтобы определить, каковы результаты между определенным диапазоном дат и определенным типом log_type?
Любая помощь может быть оценена
2 ответа
Ты можешь использовать AND
а также OR
логические конъюнкции для каждой строки запроса. В вашем случае вы можете сделать что-то вроде:
curl http://localhost:9200/dialog_test/_search?q=timestamp:[2016-08-05+TO+2016-08-06]+AND+log_type:GetProvisioning+SUCCESS
Кроме того, вы можете использовать параметр строки исходного запроса, чтобы передать тело непосредственно в URL. Например:
http://localhost:9200/my_index/_search?source={"query": {"match_all": {}},"size": "1","sort": [{"@timestamp": {"order": "desc"}}]}