映射附件在 Elasticsearch 7.7 中引发错误

Mapping attachment is throwing the error in Elasticsearch 7.7

我尝试将字段映射为用户定义的字段 - 弹性搜索中的“附件”,如下所示

"file": {
            "type": "attachment",
            "fields": {
              "content": {
                "type": "text"
              },
              "author": {
                "type": "text",
                "store": true
              }
}

附件映射如下,

"attachment": {
            "properties": {
              "author": {
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  }
                }
              },
              "content": {
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  }
                }
              }

但我收到以下错误:

java.util.concurrent.ExecutionException: RemoteTransportException[[3cfb4e163654][172.17.0.2:9300][indices:admin/create]]; nested: MapperParsingException[Failed to parse mapping [mappings]: No handler for type [attachment] declared on field [file]]; nested: MapperParsingException[No handler for type [attachment] declared on field [file]];

[无法解析映射 [mappings]:字段 [file] 上声明的类型 [attachment] 没有处理程序]

我已经将摄取附件插件添加到弹性搜索插件中,当我在弹性搜索中列出插件时就可以使用它。

我的映射有什么问题?

请帮我解决这个问题?

谢谢,
哈利

您已安装插件,列出即可使用。但是您收到错误 No handler for type [attachment] declared on field [file]

原因:

您希望添加 attachment 作为类型。但事实并非如此。

Ingest attachment plugin does not add a new type. But adds an ingest processor

Reference

您需要将其添加为管道中的处理器。

更新1:

仅仅安装插件并不能解决问题,因为它是无效的类型。我能够重现此错误。

Reference 文档是上面的 link 是我在原始答案中附加的文档。

Nice explanation about the way of usage