发送脚本调用请求时,将"原始数据"内容移动到URL



最简单的例子:

GET /_search
{
"from" : 0, "size" : 10,
"query" : {
"term" : { "user" : "kimchy" }
}
}

无数据重写原始搜索URI:

GET /_search?from=0&size=10&q=user:kimchy

是否可以像这样重写搜索模板的示例:

GET /_search/template
{
"id": "sample_id_script",
"params": {
"gte": "2020-10-15 00:00:00",
"lte": "2020-10-15 23:59:59" 
}
}

是的,可以通过source查询字符串参数!!您只需要内联JSON主体并添加另一个&source_content_type=application/json查询字符串参数,瞧!

GET /_search/template?source={"id": "sample_id_script","params": {"gte": "2020-10-15 00:00:00","lte": "2020-10-15 23:59:59"}}&source_content_type=application/json

不过,请注意,它与您展示的示例不是同一个概念。在您的示例中,我们正在访问_search端点并发送用Lucene Expression语言表示的查询(即使用q=(。它基本上相当于在query_string查询中发送的内容。

第二种情况不同,因为您通过_search/template端点发送搜索模板。因此,即使效果相同(即通过查询字符串发送有效载荷(,概念语义也不同。

最新更新