Elasticsearch 认证模拟题 - 20

一、题目

定义一个 pipeline,并且将 earthquakes 索引的文档进行更新

  1. pipeline 的 ID 为 earthquakes_pipeline
  2. magnitude_type 的字段值改为大写
  3. 如果文档不包含 batch_number,增加这个字段,将数值设置为 1
  4. 如果已经包含 batch_number,字段值 + 1
# 定义索引结构
PUT earthquakes
{"mappings": {"properties": {"name": {"type": "text"},"level": {"type": "integer"},"magnitude_type": {"type": "keyword"},"batch_number": {"type": "integer"}}}
}# 批量导入数据
POST earthquakes/_bulk
{"index":{}}
{"name":"111","level":1,"magnitude_type":"small","batch_number":22}
{"index":{}}
{"name":"222","level":2,"magnitude_type":"big"}
1.1 考点
  1. Ingest pipelines
  2. Update by query
1.2 答案
# 验证管道是否按照预期执行
POST _ingest/pipeline/_simulate
{"pipeline": {"processors": [{"script": {"lang": "painless","source": """ctx['batch_number'] = ctx['batch_number'] + 1;""","if": "ctx.batch_number != null"}},{"set": {"field": "batch_number","value": 1,"if": "ctx.batch_number == null"}},{"uppercase": {"field": "magnitude_type"}}]},"docs": [{"_source": {"magnitude_type":"small"}},{"_source": {"magnitude_type":"small","batch_number":22}}]
}# 保留一份原始数据,防止更新出错
POST _reindex
{"source": {"index": "earthquakes"},"dest": {"index": "earthquakes_bak"}
}# 定义管道
PUT _ingest/pipeline/earthquakes_pipeline
{"processors": [{"script": {"lang": "painless","source": """ctx['batch_number'] = ctx['batch_number'] + 1;""","if": "ctx.batch_number != null"}},{"set": {"field": "batch_number","value": 1,"if": "ctx.batch_number == null"}},{"uppercase": {"field": "magnitude_type"}}]
}# 批量更新数据
POST earthquakes/_update_by_query?pipeline=earthquakes_pipeline# 检查结果
GET earthquakes/_search

在这里插入图片描述

二、题目

task1 索引中的文档增加一个新的字段 new_field,字段值为 field_a + field_b + field_c

其实这里我有个问题:

  1. field_afield_bfield_c 的值都是数字类型么,要是字符类型咋办
  2. field_afield_bfield_c 的类型不同咋整
2.1 考点
  1. Ingest pipelines
  2. Update by query
2.2 答案
  1. field_afield_bfield_c 都是数字
# 创建索引结构
PUT task1
{"mappings":{"properties":{"field_a":{"type":"integer"},"field_b":{"type":"integer"},"field_c":{"type":"integer"}}}
}# 批量写入数据
POST task1/_bulk
{"index":{}}
{"field_a":1,"field_b":2,"field_c":3}
{"index":{}}
{"field_a":3,"field_b":2,"field_c":3}
{"index":{}}
{"field_a":5,"field_b":2,"field_c":3}# 验证管道的正确性
POST _ingest/pipeline/_simulate
{"pipeline": {"processors": [{"script": {"lang": "painless","source": """ctx['new_field'] = ctx['field_a'] + ctx['field_b'] + ctx['field_c']; """}}]},"docs": [{"_source": {"field_a":5,"field_b":2,"field_c":3}}]
}# 创建管道
PUT _ingest/pipeline/my_pipeline
{"processors": [{"script": {"lang": "painless","source": """ctx['new_field'] = ctx['field_a'] + ctx['field_b'] + ctx['field_c']; """}}]
}# 更新索引数据
POST task1/_update_by_query?pipeline=my_pipeline# 检查结果
GET task1/_search
  1. field_afield_bfield_c 都是字符串,相同的管道就是字符串的拼接
# 创建索引结构
PUT task1
{"mappings":{"properties":{"field_a":{"type":"keyword"},"field_b":{"type":"keyword"},"field_c":{"type":"keyword"}}}
}# 批量写入数据
POST task1/_bulk
{"index":{}}
{"field_a":"a","field_b":"2","field_c":"c"}
{"index":{}}
{"field_a":"1","field_b":"2","field_c":"3"}
{"index":{}}
{"field_a":"d","field_b":"d","field_c":"hello"}# 验证管道的正确性
POST _ingest/pipeline/_simulate
{"pipeline": {"processors": [{"script": {"lang": "painless","source": """ctx['new_field'] = ctx['field_a'] + ctx['field_b'] + ctx['field_c']; """}}]},"docs": [{"_source": {"field_a":"a","field_b":"2","field_c":"c"}}]
}# 创建管道
PUT _ingest/pipeline/my_pipeline
{"processors": [{"script": {"lang": "painless","source": """ctx['new_field'] = ctx['field_a'] + ctx['field_b'] + ctx['field_c']; """}}]
}# 更新索引数据
POST task1/_update_by_query?pipeline=my_pipeline# 检查结果
GET task1/_search
  1. field_afield_bfield_c 是数字和字符串的混合,这里管道会统统当作字符串来处理,还挺有意思,和 java 一样。
# 创建索引结构
PUT task1
{"mappings":{"properties":{"field_a":{"type":"keyword"},"field_b":{"type":"keyword"},"field_c":{"type":"keyword"}}}
}# 批量写入数据
POST task1/_bulk
{"index":{}}
{"field_a":"a","field_b":2,"field_c":"c"}
{"index":{}}
{"field_a":"1","field_b":2,"field_c":"3"}
{"index":{}}
{"field_a":"d","field_b":2,"field_c":"hello"}# 验证管道的正确性
POST _ingest/pipeline/_simulate
{"pipeline": {"processors": [{"script": {"lang": "painless","source": """ctx['new_field'] = ctx['field_a'] + ctx['field_b'] + ctx['field_c']; """}}]},"docs": [{"_source": {"field_a":"1","field_b":2,"field_c":"3"}}]
}# 创建管道
PUT _ingest/pipeline/my_pipeline
{"processors": [{"script": {"lang": "painless","source": """ctx['new_field'] = ctx['field_a'] + ctx['field_b'] + ctx['field_c']; """}}]
}# 更新索引数据
POST task1/_update_by_query?pipeline=my_pipeline# 检查结果
GET task1/_search

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/853198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型系列:Prompt提示工程常用技巧和实践

前言 Prompt提示语是使用大模型解决实际问题的最直接的方式,本篇介绍Prompt提示工程常用的技巧,包括Zero-Shot、Few-Shot、CoT思维链、Least-to-Most任务分解。 内容摘要 Prompt提示工程简述Prompt的一般结构介绍零样本提示Zero-Shot少样本提示Few-Sho…

nginx配置https协议(测试环境)

第一步申请证书 首先申请证书这一步,晚上有很多种方式实现,可以自己用算法实现,也可以找在线生成的网站,我这里使用了在线网站 https://www.toolhelper.cn/SSL/SSLGenerate 第二步将证书放到对应的目录下 这里我们主要用cert.pe…

探索大数据在信用评估中的独特价值

随着我国的信用体系越来越完善,信用将影响越来越多的人。现在新兴的大数据信用和传统信用,形成了互补的优势,大数据信用变得越来越重要,那大数据信用风险检测的重要性主要体现在什么地方呢?本文将详细为大家介绍一下,…

03-appium环境配置和启动参数设置

参考文章:https://blog.csdn.net/lovedingd/article/details/110949993 一、appium介绍 Appium是一个开源、跨平台的自动化测试框架,支持Android、IOS等平台,同时也支持多语言,比如:Java、Python等。 Appiumu通过扩展…

图论(一)之概念介绍与图形#matlab

图论(一)之概念介绍与图形目录 前言 一、图论介绍 二、基本概念 2.1图的概念 2.2图形分类 2.3邻接矩阵 2.3.1无向图 2.3.2有向图 2.3.3有向赋权图 2.4出度(Outdegree) 2.5入度(Indegree) 3.四种…

C语言 | Leetcode C语言题解之第145题二叉树的后序遍历

题目&#xff1a; 题解&#xff1a; void addPath(int *vec, int *vecSize, struct TreeNode *node) {int count 0;while (node ! NULL) {count;vec[(*vecSize)] node->val;node node->right;}for (int i (*vecSize) - count, j (*vecSize) - 1; i < j; i, --j)…

结构体对齐,与 触发 segment fault 为什么是 1024*132 ,而不是1024*128

1, 简单的小示例代码 按理说 malloc 的size 是 1024*128&#xff0c;这里却需要 1024*132才能及时触发 segmentation fault #include <stdlib.h> #include <stdio.h> #define SIZE 1024*131int main() {char *p 0;p malloc(SIZE);p[SIZE -1] a;free(p);printf(…

java学习 项目篇 一

学习地址&#xff1a;https://www.bilibili.com/video/BV1TP411v7v6?p6&spm_id_frompageDriver&vd_sourcea6f7db332f104aff6fadf5b3542e5875 后端环境搭建 Entity 实体&#xff0c;通常和数据库的表对应DTO 数据传输对象&#xff0c;用于程序中各层之间传递数据 (前端…

C++ PDF转图片

C PDF转图片#include "include/fpdfview.h" #include <fstream> #include <include/core/SkImage.h>sk_sp<SkImage> pdfToImg(sk_sp<SkData> pdfData) {sk_sp<SkImage> img;FPDF_InitLibrary(nullptr);FPDF_DOCUMENT doc;FPDF_PAGE …

Android采用Scroller实现底部二楼效果

需求 在移动应用开发中&#xff0c;有时我们希望实现一种特殊的布局效果&#xff0c;即“底部二楼”效果。这个效果类似于在列表底部拖动时出现额外的内容区域&#xff0c;用户可以继续向上拖动查看更多内容。这种效果可以用于展示广告、推荐内容或其他信息。 效果 实现后的…

算法01 递推算法及相关问题详解【C++实现】

目录 递推的概念 训练&#xff1a;斐波那契数列 解析 参考代码 训练&#xff1a;上台阶 参考代码 训练&#xff1a;信封 解析 参考代码 递推的概念 递推是一种处理问题的重要方法。 递推通过对问题的分析&#xff0c;找到问题相邻项之间的关系&#xff08;递推式&a…

MFC基础学习应用

MFC基础学习应用 1.基于对话框的使用 左上角为菜单键&#xff08;其下的关于MFC主要功能由IDD_ABOUTBOX决定) 附图 右下角为按钮&#xff08;基本功能由IDD_DIALOG决定,添加按钮使用由左上角的工具箱完成) 附图 2.自行添加功能与按钮//功能代码 void CMFCApplication4Dlg:…

JS基础与高级应用: 性能优化

在现代Web开发中&#xff0c;性能优化已成为前端工程师必须掌握的核心技能之一。本文从URL输入到页面加载完成的全过程出发&#xff0c;深入分析了HTTP协议的演进、域名解析、代码层面性能优化以及编译与渲染的最佳实践。通过节流、防抖、重复请求合并等具体技术手段&#xff0…

linux驱动学习(九)之中断

一、中断的实现 对于中断的请求&#xff0c;在linux内核中&#xff0c;有一套标准的接口函数&#xff0c;可以实现中断的响应和处理。 #include <linux/interrupt.h>//1 申请中断 static inline int __must_check request_irq(unsigned int irq, irq_handler_t handler…

flask南京市旅游景点信息可视化-计算机毕业设计源码02941

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对南京市旅游景点信息可视化等问题&#xff0…

使用gtest做cpp的单元测试并可查看代码覆盖率

前言 由于工作需要&#xff0c;要使用googletest做单元测试&#xff0c;本文记录下搭建gtest单元测试环境&#xff0c;并查看代码覆盖率的方法&#xff0c;以备不时之需。 准备工作 编译gtest 克隆gtest源码&#xff1a; git clone https://github.com/google/googletest.g…

QUIC 和 TCP: 深入解析为什么 QUIC 更胜一筹

引言 在过去的三十年里&#xff0c;HTTP&#xff08;超文本传输协议&#xff09;一直是互联网的支柱。我们可以通过 HTTP 浏览网页、下载文件、流式传输电影等。这一协议随着时间的推移已经得到了重大改进。 HTTP 协议是一个应用层协议&#xff0c;它基于 TCP&#xff08;传输…

【git使用一】windows下git下载、安装和卸载

目录 &#xff08;1&#xff09;下载安装包 &#xff08;2&#xff09;安装git &#xff08;3&#xff09;安装验证 &#xff08;4&#xff09;卸载git &#xff08;1&#xff09;下载安装包 官网下载地址&#xff1a;Git 国内镜像下载地址&#xff1a;CNPM Binaries Mir…

Unity图集

概述 相信在同学们学习过程中&#xff0c;在UI的的使用时候一定经常听说过图集的概念。 Unity有UI的组件&#xff0c;有同学们好奇&#xff0c;那为什么还要使用图集呢&#xff1f; 这就需要提到一个性能优化的问题了&#xff0c;因为过多的UI图片&#xff0c;会大幅增加Dra…

【机器学习】LightGBM: 优化机器学习的高效梯度提升决策树

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 LightGBM: 优化机器学习的高效梯度提升决策树引言一、LightGBM概览二、核心技术…