我如何在 ElasticSearch 中的单个 URI 中执行多个搜索查询?
How can i do a multiple search query within a single URI in ElasticSearch?
我正在尝试通过从 Postman 发送 GET http 调用来获得索引的结果,方法是针对日期范围和我手动添加的字段 ("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 之间的结果是什么?
如有任何帮助,我们将不胜感激
您可以对 query strings 使用 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"}}]}
我正在尝试通过从 Postman 发送 GET http 调用来获得索引的结果,方法是针对日期范围和我手动添加的字段 ("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 之间的结果是什么?
如有任何帮助,我们将不胜感激
您可以对 query strings 使用 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"}}]}