使用Kibana 5.5.2。我在名为“供应商”的索引中有1800万条记录。我要使用以下代码进行的操作是修剪所有前导/后缀空白,但是出现以下错误:
"type": "parse_exception", "reason": "expected one of [inline], [file] or [stored] fields, but found none"
这是我正在使用的代码。 “ name
”是我要在索引中的所有18M文档上修剪的字段:
POST suppliers/_update_by_query
{
"script": {
"source": "ctx._source.name=trim(name)",
"lang": "painless"
}
}
请帮助
答案 0 :(得分:1)
您可以做的是使用trim
processor定义提取管道,然后在通过查询调用进行更新中使用它。
首先定义您的管道:
PUT _ingest/pipeline/trim
{
"description" : "trims my name field",
"processors" : [ {
"trim" : {
"field": "name"
}
} ]
}
然后在通过查询调用更新时指定它:
POST suppliers/_update_by_query?pipeline=trim
答案 1 :(得分:0)
@Val和@ibexit。谢谢你的帮助。 Val的回应奏效了...我只是第一次对其进行了错误格式化。这是有效的方法:
PUT _ingest/pipeline/trim
{
"description" : "trims my name field",
"processors" : [ {
"trim" : {
"field": "name"
}
} ]
}
POST suppliers/_update_by_query?pipeline=trim