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

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 带你读《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;
相关文章
|
边缘计算 人工智能 负载均衡
什么是SD-WAN?
【4月更文挑战第15天】
7609 5
|
存储 监控 算法
ClickHouse源码分析-压缩算法大揭秘
ClickHouse在近年来增加了很多压缩算法,最主要的改进还是为了更好的适应时序场景,提高压缩率,节省存储空间。本期就给大家带来ClickHouse的压缩算法介绍。
5697 0
ClickHouse源码分析-压缩算法大揭秘
|
11月前
|
算法 大数据 Linux
深入理解操作系统之进程调度算法
【10月更文挑战第24天】本文旨在通过浅显易懂的语言,带领读者深入了解操作系统中的进程调度算法。我们将从进程的基本概念出发,逐步解析进程调度的目的、重要性以及常见的几种调度算法。文章将通过比喻和实例,使复杂的技术内容变得生动有趣,帮助读者建立对操作系统进程调度机制的清晰认识。最后,我们还将探讨这些调度算法在现代操作系统中的应用和发展趋势。
|
自然语言处理 数据安全/隐私保护
整合 200 多项相关研究,大模型终生学习最新综述来了
【9月更文挑战第26天】近年来,大型语言模型(LLMs)在自然语言处理、智能问答及内容生成等领域广泛应用。面对不断变化的数据、任务和用户偏好,LLMs需具备适应能力。传统静态数据集训练方式难以满足需求,因此提出了“终身学习”方法,使模型持续学习新知识并避免遗忘旧知识。最新综述文章整合200多项研究,将终身学习分为内部知识(连续预训练和微调)与外部知识(基于检索和工具)两大类,涵盖12种应用场景,探讨了模型扩展和数据选择等新兴技术。然而,终身学习也面临计算资源、知识冲突及数据安全等挑战。
346 6
|
SQL 关系型数据库 MySQL
Golang数据库编程详解 | 深入浅出Go语言原生数据库编程
Golang数据库编程详解 | 深入浅出Go语言原生数据库编程
|
JavaScript 安全 前端开发
js实现复制功能
js实现复制功能
|
关系型数据库 MySQL Linux
docker镜像与容器的迁移
docker迁移镜像步骤 docker迁移容器步骤 docker迁移mysql容器步骤
1511 1
|
数据采集 监控 搜索推荐
附方法论|数禾科技X瓴羊:3000字干货分享数据资产建设实践
附方法论|数禾科技X瓴羊:3000字干货分享数据资产建设实践
253 0
|
安全 算法 Java
Java中线程安全的集合
Java中线程安全的集合
345 0
|
消息中间件 监控 数据安全/隐私保护
RabbitMQ Windows 安装、配置、使用 - 小白教程
RabbitMQ Windows 安装、配置、使用 - 小白教程
8616 0
RabbitMQ Windows 安装、配置、使用 - 小白教程