我在 Kibana 中有一个字段,它有时是字符串,有时是数组。
例如:
{ "fld1": "val1", "fld2": "val2"}
{ "fld1": "val3", "fld2": [ "val4", "val5" ] }
我想在“fld2”中搜索包含数组的文档。
我试过:
{
"query": {
"bool": {
"filter": {
"script": {
"script": {
"source": "doc['fld2'].size > 0",
"lang": "painless"
}
}
}
}
}
}
最佳答案
Elasticsearch 脚本为 doc['fld2'] 值返回字符串,您必须将其转换为数组以检查大小。
{
"query": {
"bool" : {
"filter" : {
"script" : {
"script" : {
"source": "def val = doc['fld2']; val.size() > 1",
"lang": "painless"
}
}
}
}
}
}
关于kibana - 如何在 Kibana 中搜索数组的存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59084952/