搜索模板 API

编辑

使用搜索模板运行搜索。

resp = client.search_template(
    index="my-index",
    id="my-search-template",
    params={
        "query_string": "hello world",
        "from": 0,
        "size": 10
    },
)
print(resp)
response = client.search_template(
  index: 'my-index',
  body: {
    id: 'my-search-template',
    params: {
      query_string: 'hello world',
      from: 0,
      size: 10
    }
  }
)
puts response
const response = await client.searchTemplate({
  index: "my-index",
  id: "my-search-template",
  params: {
    query_string: "hello world",
    from: 0,
    size: 10,
  },
});
console.log(response);
GET my-index/_search/template
{
  "id": "my-search-template",
  "params": {
    "query_string": "hello world",
    "from": 0,
    "size": 10
  }
}

请求

编辑

GET <target>/_search/template

GET _search/template

POST <target>/_search/template

POST _search/template

先决条件

编辑
  • 如果启用了 Elasticsearch 安全功能,您必须具有目标数据流、索引或别名的 read 索引权限。对于跨集群搜索,请参阅远程集群

路径参数

编辑
<target>
(可选,字符串)要搜索的数据流、索引和别名的逗号分隔列表。支持通配符(*)。要搜索所有数据流和索引,请省略此参数或使用 *

查询参数

编辑
allow_no_indices

(可选,布尔值)如果为 false,则当任何通配符表达式、索引别名_all 值仅以缺失或关闭的索引为目标时,请求将返回错误。即使请求以其他打开的索引为目标,此行为也适用。例如,如果一个索引以 foo 开头,但没有索引以 bar 开头,则以 foo*,bar* 为目标的请求将返回错误。

默认为 true

ccs_minimize_roundtrips
(可选,布尔值)如果为 true,则跨集群搜索请求的网络往返次数将最小化。默认为 true
expand_wildcards

(可选,字符串)通配符模式可以匹配的索引类型。如果请求可以以数据流为目标,则此参数确定通配符表达式是否匹配隐藏的数据流。支持逗号分隔的值,例如 open,hidden。有效值包括

all
匹配任何数据流或索引,包括隐藏的数据流和索引。
open
匹配打开的、非隐藏的索引。也匹配任何非隐藏的数据流。
closed
匹配关闭的、非隐藏的索引。也匹配任何非隐藏的数据流。数据流不能关闭。
hidden
匹配隐藏的数据流和隐藏的索引。必须与 openclosed 或两者组合使用。
none
不接受通配符模式。
explain
(可选,布尔值)如果为 true,则响应会在命中结果中包含有关分数计算的更多详细信息。默认为 false
ignore_throttled

(可选,布尔值)如果为 true,则在冻结时会忽略具体、展开或别名的索引。默认为 true

[7.16.0] 在 7.16.0 中已弃用。

ignore_unavailable
(可选,布尔值)如果为 false,则当请求以缺失或关闭的索引为目标时,会返回错误。默认为 false
preference
(可选,字符串)指定应在其上执行操作的节点或分片。默认情况下是随机的。
rest_total_hits_as_int
(可选,布尔值)如果为 true,则响应会将 hits.total 作为整数返回。如果为 false,则它将 hits.total 作为对象返回。默认为 false
routing
(可选,字符串)用于将操作路由到特定分片的自定义值。
scroll
(可选,时间单位)指定应为滚动搜索维护索引一致视图的时间长度。
search_type

(可选,字符串)搜索操作的类型。可用选项

  • query_then_fetch
  • dfs_query_then_fetch
typed_keys
(可选,布尔值)如果为 true,则响应会在聚合和建议器名称前面加上其各自的类型。默认为 false

请求正文

编辑
explain

(可选,布尔值)如果为 true,则返回有关作为每次命中一部分的分数计算的详细信息。默认为 false

如果您同时指定此参数和 explain 查询参数,则 API 将仅使用查询参数。

id
(必需*,字符串)要使用的搜索模板的 ID。如果未指定 source,则此参数为必需。
params
(可选,对象)用于替换模板中 Mustache 变量的键值对。键是变量名称。值是变量值。
profile
(可选,布尔值)如果为 true,则会对查询执行进行分析。默认为 false
source

(必需*,对象)内联搜索模板。支持与搜索 API的请求正文相同的参数。还支持 Mustache 变量。

如果未指定 id,则此参数为必需。