渲染搜索应用程序查询编辑

此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。

根据指定的查询参数,使用与搜索应用程序关联的搜索模板生成 Elasticsearch 查询,如果没有指定模板,则使用默认模板。未指定的模板参数将被分配其默认值(如果适用)。返回将通过调用 搜索应用程序搜索 生成和执行的特定 Elasticsearch 查询。

请求编辑

POST _application/search_application/<name>/_render_query

先决条件编辑

需要对搜索应用程序的后备别名具有读取权限。

请求正文编辑

参数
(可选,字符串到对象的映射)用于从与搜索应用程序关联的搜索模板生成 Elasticsearch 查询的查询参数。如果在 params 中未指定搜索模板中使用的参数,则将使用该参数的默认值。

可以将搜索应用程序配置为验证搜索模板参数。有关更多信息,请参阅 放置搜索应用程序 API 中的 dictionary 参数。

响应代码编辑

400

传递给搜索模板的参数无效。例子包括

  • 缺少必需参数
  • 参数数据类型无效
  • 参数值无效
404
搜索应用程序 <name> 不存在。

例子编辑

以下示例为名为 my-app 的搜索应用程序生成一个查询,该应用程序使用 文本搜索示例 中的搜索模板

POST _application/search_application/my-app/_render_query
{
  "params": {
    "query_string": "my first query",
    "text_fields": [
      {"name": "title", "boost": 5},
      {"name": "description", "boost": 1}
    ]
  }
}

示例响应

{
  "from": 0,
  "size": 10,
  "query": {
    "multi_match": {
      "query": "my first query",
      "fields": [
        "description^1.0",
        "title^5.0"
      ]
    }
  },
  "explain": false
}

在这种情况下,请求中未指定 fromsizeexplain 参数,因此将使用搜索模板中指定的默认值。