Elasticsearch使用 Elasticsearch Painless 脚本以递归方式遍历 JSON 字段

Posted 九师兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch使用 Elasticsearch Painless 脚本以递归方式遍历 JSON 字段相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

0.概述

翻译:https://alexmarquardt.com/category/elasticsearch/

1. 介绍

Painless 是一种简单、安全的脚本语言,专为与 Elasticsearch 一起使用而设计。它是 Elasticsearch 的默认脚本语言,可以安全地用于内联和存储脚本。在众多用例之一中,Painless 可以在文档被摄取到您的 Elasticsearch 集群时对其进行修改。在这个用例中,您可能会发现您想使用 Painless 来评估 Elasticsearch 接收到的每个文档中的每个字段。但是,由于 JSON 文档的分层性质,如何迭代所有字段可能并不明显。

本博客提供的示例展示了 Painless 如何遍历 Elasticsearch 接收的每个文档中的所有字段,无论字段是直接出现在顶级 JSON 正文中,还是包含在子文档或数组中。

2.案例

2.1 示例一 – 删除空字段

以下名为“remove_empty_fields”的轻松脚本展示了如何遍历文档中的所有元素,并删除值为空字符串的每个字段。

以上是关于Elasticsearch使用 Elasticsearch Painless 脚本以递归方式遍历 JSON 字段的主要内容,如果未能解决你的问题,请参考以下文章

elasticsearch配置文件详解

elasticsearch配置文件详解

java使用elasticsearch进行模糊查询

Docker 安装 Elasticsearch

Elasticsearch如何在Elasticsearch中使用排名评估API

如何专门使用“Elasticsearch”gem 将 elasticsearch 与 rails 应用程序集成