Painless 语法

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/painless-statements.html

painless 语句详解(条件、循环)


Painless 语句主要分为条件语句和循环语句;Painless 支持除了 switch 以外的 java 所有控制流程语句。

条件语句

If/Else

和 java 语言的表达式,示例如下:

if (doc[item].size() == 0) {
  // do something if "item" is missing
} else if (doc[item].value == 'something') {
  // do something if "item" value is: something
} else {
  // do something else
}

循环语句

For

Painless 支持 for in 语句,示例如下:

for (def item : list) {
  // do something
}
for (item in list) {
  // do something
}

While

while (ctx._source.item < condition) {
  // do something
}

Do-While

do {
  // do something
}
while (ctx._source.item < condition)

 

Java中有多种方式来实现循环语句,常见的包括`for`循环、`while`循环、`do-while`循环和`foreach`循环。示例代码 ...
Elasticsearch(es)大多数脚本都围绕指定文档字段数据来使用,可以 doc['field_name'] 形式来访问文档内指定字段 ...
在Java中,`while`循环是一种基本的循环结构,用于在满足一定条件的情况下重复执行一段代码块。总之,`while`循环是Java中常用 ...
Elasticsearch 查询语句采用基于 RESTful 风格的接口封装成 JSON 格式的对象,称之为 Query DSL。Elast ...
下面是一些常见的if条件判断情况:假设我们有以下上下文数据传递到模板:现在,让我们根据上述上下文数据编写一些if条件判断的模板代码:判断变量 ...