【Elasticsearch】es脚本编程使用详解

avatar
作者
筋斗云
阅读量:0

目录

一、es脚本语言介绍

1.1 什么是es脚本

1.2 es脚本支持的语言

1.3 es脚本语言特点

1.4 es脚本使用场景

二、环境准备

2.1 docker搭建es过程

2.1.1 拉取es镜像

2.1.2 启动容器

2.1.3 配置es参数

2.1.4 重启es容器并访问

2.2 docker搭建kibana过程

2.2.1 拉取kibana镜像

2.2.2 启动kibana容器

2.2.3 修改配置文件

2.2.4 重启容器并访问

三、Scripting 使用详解

3.1 数据准备

3.1.1 创建索引

3.1.2 添加测试数据

3.2 es脚本常用CRUD操作

3.2.1 修改id为1001数据的价格

3.2.2 修改id为1005数据的tag

3.2.3 删除id为1005数据

3.2.4 upsert操作

3.2.5 使用expression查询

3.3 参数化脚本使用

3.3.1 修改1005这条数据的字段值

3.3.2 对字段值进行计算

3.3.3 对字段值进行计算并输出多个结果

3.4 参数化脚本的存储

3.4.1 自定义一个参数脚本

3.4.2 查询脚本模板

3.4.3 使用自定义脚本模板

四、Scripting 函数式编程

4.1 函数式编程格式

4.2 函数式编程使用

4.2.1 同时操作多个字段

4.2.2 条件表达式

4.2.3 数据统计与聚合

五、写在文末


一、es脚本语言介绍

1.1 什么是es脚本

Elasticsearch的 Scripting 是es支持的一种专门用于复杂场景下实现可编程的强大脚本功能。通过Scripting 脚本编程,可以实现更复杂的查询、数据处理、数据定制统计聚合以及柔性调整索引结构等。

1.2 es脚本支持的语言

es支持多种脚本语言,比如Painless,这是 Elasticsearch 自家开发的一种安全、高效并且易于学习的语言,其语法与Java很类似,编程中,也有注释、关键字、类型、变量、函数等,相较于其他支持的脚本语言性能更高,并且安全可靠,可以用于内联和存储脚本。

除了 Painless,Elasticsearch 也支持其他几种脚本语言,如 Lucene 的表达式语言,但 Painless 是推荐和默认的选项。具体来说,常用的支持语言如下:

  • groovy,ES1.4X~5.0默认的脚本语言;

  • Painless,J

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!