带你读《Elastic Stack 实战手册》之24:——3.4.2.9.Search template(3)

简介: 带你读《Elastic Stack 实战手册》之24:——3.4.2.9.Search template(3)

删除

 

在一个搜索模板完成了它的使命后,我们需要及时删除它,因为 Elasticsearch 默认缓存脚本的数据量是有上限的,删除的方式很简单,发送一个DELETE请求即可。

 

示例如下:


DELETE _scripts/<templateId>   #1

templateId>为要删除的搜索模板的 ID,比如_scripts/testSearchTemplate表示的就是删除 ID 为testSearchTemplate的搜索模板。

 

使用

 

搜索模板的使用就是在搜索时,直接发送占位符的值,即可执行预设搜索语句。由于还是在搜索的范畴,所以发送请求的 path 是_search/template

 

下面是关于使用搜索模板进行查询的示例:


GET <index>/_search/template?<query_parameters> #1
{
  "source": """{"query": {"term": {"FlightNum": {"value": "{{FlightNum}}"}}}}""",  #2
  "id": "testSearchTemplate", # 3
  "params": {  # 4
    "FlightNum": "9HY9SWR"
  },
  "profile": true, # 5
  "explain": true  # 6
}

模板搜索发送的地址为/_search/template,与搜索一样处为选填参数,你可以指定搜索的索引,不指定则表示搜索全部索引。

 

因为本质上还是属于搜索的范畴,所以一些搜索参数在模板搜索是也可以使用,比如:

 

l scroll(可选,时长):表示本搜索需要支持游标搜索,游标过期时间为配置值

l ccs_minimize_roundtrips(可选,布尔值):如果为 true 则在跨集群搜索时最小化集群间交互。默认为 true

l expand_wildcards(可选,字符串):表示索引通配符作用的范围,可配置为全部(all)、打开索引(open)、关闭索引(closed)、隐藏索引(hidden,需要与open或closed结合使用)、不允许通配符(none)

l explain(可选,布尔值):表示返回结果是否带计算得分的详细信息,默认是false

l ignore_throttled(可选,布尔值):如果为 true 则表示查询忽略被限制的索引,被限制的索引一般指被冻结(freeze)的索引,该值默认是 true

l ignore_unavailable(可选,布尔值):如果为 true 则表示关闭的索引不在搜索范围内,默认值为 true

l preference(可选,字符串):指定执行该操作的节点或分片,默认是随机的

l rest_total_hits_as_int(可选,布尔值):如果为 true 则 hits.total 将会是个数值而非一个对象,默认为 false

l routing(可选, 字符串):配置搜索执行的路由

l search_type(可选,字符串):这是搜索的类型,可选值有:query_then_fetch、dfs_query_then_fetch

l source 字段:用于配置搜索模板,该字段与 ID 字段冲突只能二选一,使用 source 表示不使用保存的模板而使用本模板

l id 字段:表示本次查询使用的搜索模板 ID,该字段与 source 字 段冲突只能二选一

l params 字段:配置的 key-value 值将替换模板中的占位符执行搜索

l profile 字段:是可选字段,表示返回结果中是否有 Elasticsearch 执行搜索的一些元信息

 


《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.9.Search template(4) https://developer.aliyun.com/article/1230599

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。 &nbsp;
相关文章
|
Java
【极问系列】springBoot集成elasticsearch出现Unable to parse response body for Response
【极问系列】springBoot集成elasticsearch出现Unable to parse response body for Response
1777 2
|
Java 关系型数据库 中间件
分库分表(3)——ShardingJDBC实践
分库分表(3)——ShardingJDBC实践
1596 0
分库分表(3)——ShardingJDBC实践
|
XML Java 数据库连接
【问题已解决】Caused by: java.lang.IllegalStateException
【问题已解决】Caused by: java.lang.IllegalStateException
505 0
|
存储 Java 网络架构
Spring Data Elasticsearch基础入门详解
Spring Data Elasticsearch基础入门详解
1090 0
|
存储 Shell 索引
kibana快照存储库实现定时备份elasticsearch集群索引
利用kibana的快照存储库备份es索引 文章目录 利用kibana的快照存储库备份es索引 1.快照存储库备份es索引 2.部署nfs存储并在es节点进行挂载 2.1.部署nfs存储 2.2.配置es集群各节点增加nfs存储配置 3.在kibana界面创建快照存储库 3.1.点击Managerment---快照存储库---注册存储库 3.2.填写存储库名称,存储库类型选择共享文件系统 3.3.填写存储库信息 3.4.点击注册之后点击验证存储库 3.5.验证存储库成功 4.es索引库备份 4.1.创建linuxbook索引库并插入数据 4.2.在es上查看新建索引的数据
1684 0
kibana快照存储库实现定时备份elasticsearch集群索引
|
移动开发 Java
JVM源码分析之堆外内存完全解读
概述 广义的堆外内存 说到堆外内存,那大家肯定想到堆内内存,这也是我们大家接触最多的,我们在jvm参数里通常设置-Xmx来指定我们的堆的最大值,不过这还不是我们理解的Java堆,-Xmx的值是新生代和老生代的和的最大值,我们在jvm参数里通常还会加一个参数-XX:MaxPermSize来指定持久
20738 1
|
6天前
|
云安全 人工智能 运维
阿里云联动百位企业安全专家,共识Agent防御最佳实践
当Agent成为新员工,你的安全边界在哪里?
1910 6
阿里云联动百位企业安全专家,共识Agent防御最佳实践
|
4天前
|
存储 人工智能 关系型数据库
阿里云AI产品与云产品最新组合套餐:Token Plan、AI coding及云服务器和建站等组合优惠价
阿里云推出全新“算力+模型+应用”一站式云与AI组合套餐活动,覆盖从个人开发者到中大型企业的全场景需求。核心亮点为分三档定价的Token Plan订阅服务,支持Qwen3.8-Max-Preview大模型调用,错峰时段最低可享0.2折优惠。活动同步推出AI Coding、智能体部署、云电脑托管、0代码建站等十余类场景化组合,搭配99元/年的普惠云服务器、88元/年的入门数据库等经典特惠产品,还为企业提供1V1定制化AI转型方案,大幅降低了不同用户群体拥抱AI的技术门槛与采购成本。
640 110

热门文章

最新文章