painless 判断doc中是String 还是数组
时间: 2024-01-13 18:04:00 浏览: 204
判断String是否是字母
在Elasticsearch中,可以使用以下代码判断一个字段是字符串还是数组:
```
if (doc['your_field'].size() == 1 && doc['your_field.keyword'].size() == 0) {
// your_field is a string
} else if (doc['your_field'].size() > 1 && doc['your_field.keyword'].size() == 0) {
// your_field is an array
} else if (doc['your_field.keyword'].size() > 0) {
// your_field is a string
}
```
其中,`doc['your_field']`表示要判断的字段名。如果`size() == 1`且`doc['your_field.keyword'].size() == 0`,则说明该字段是一个字符串;如果`size() > 1`且`doc['your_field.keyword'].size() == 0`,则说明该字段是一个数组;如果`doc['your_field.keyword'].size() > 0`,则说明该字段是一个字符串。
阅读全文