Как я могу сделать несколько поисковых запросов в пределах одного 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"}}]}
Другие вопросы по тегам