我正在努力让Kibana中的脚本字段起作用。
我的文档中有两个字段customer
和site
我想创建一个名为friendly_name
的新脚本字段customer+" "+site
我已经尝试过了
return doc["customer"].value + " "+doc["site"].value
并且它不会产生任何结果。
我甚至只试过return 1
看看我是否可以得到任何回报。
我怎样才能让它发挥作用?
答案 0 :(得分:0)
脚本字段仅适用于doc_values,我猜测,由于这不适合您,因此customer
和site
字段为text
字段。
来自https://www.elastic.co/blog/using-painless-kibana-scripted-fields:
无痛和Lucene表达式都对doc_values中存储的字段进行操作。因此,对于字符串数据,您需要将字符串存储在数据类型关键字中。
因此,您要么将两个字段定义为keyword
,要么为其添加子字段,并在您的脚本中使用customer.keyword
和site.keyword
。更改的映射应该是:
"customer": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}