字段 [field] 不作为 Elasticsearch 摄取管道的路径 [field.query] 的一部分出现

问题描述 投票:0回答:1

我正在使用 gsub 处理器在 Elasticsearch 中创建摄取管道,但在文档上测试管道时不断收到此错误。我必须在摄取之前添加一个唯一的分隔符来处理空格问题。我现在尝试用空格替换该分隔符。分隔符是 |x|我的 gsub 处理器配置是

^\\|x\\|$
。我会使用“ignore_failure”,但是如果处理器找不到我要修改的字段,它将永远不会真正工作。

谢谢。

elasticsearch kibana elasticsearch-8
1个回答
0
投票

您收到的错误只是意味着处理器找不到您想要替换的字段。由于在这种情况下没有任何内容可以替换,并且您希望某些字段没有该字段,因此您可以通过向处理器添加“ignore_missing”来简单地抑制错误:

POST /_ingest/pipeline/_simulate
{
  "pipeline" :
  {
    "description": "_description",
    "processors": [
      {
        "gsub": {
          "field" : "field.query",
          "pattern": "^\\|x\\|$",
          "replacement": " ",
          "ignore_missing": true
        }
      }
    ]
  },
  "docs": [
    {
      "_index": "index",
      "_id": "id",
      "_source": {
        "field": {
          "query": "foo|x|bar"
        }
      }
    },
    {
      "_index": "index",
      "_id": "id",
      "_source": {
        "no_field": "foobar"
      }
    }
  ]
}
© www.soinside.com 2019 - 2024. All rights reserved.