ElasticSearch8.x中的批量索引:'操作/元数据行[1]包含未知参数[_type]'

crcmnpdw  于 2022-11-22  发布在  ElasticSearch
关注(0)|答案(1)|浏览(451)

我一直在尝试在elasticsearch 8.x中使用以下代码创建批量索引:

from elasticsearch.helpers import bulk as bulk_indexer

success, failed = bulk_indexer(self.es_client, actions, stats_only=True, chunk_size=900)

显然我看到了:

RuntimeError: elasticsearch.BadRequestError: BadRequestError(400, 'illegal_argument_exception', 'Action/metadata line [1] contains an unknown parameter [_type]') [while running 'bulk index']

我知道了https://www.elastic.co/guide/en/elasticsearch/reference/7.17/removal-of-types.html
我想这就是原因,但有人能帮我知道为什么我会看到这一点或什么可能的问题?
我尝试从es 5迁移到es 8.x

lc8prwob

lc8prwob1#

在action命令行中必须有一个不应该存在的_type。如果这些记录已经在早期版本的ES中存储在Kafka中,并且您正在重放它们,或者如果客户端应用程序仍然使用相同的逻辑生成这些action记录,那么您需要更改生成逻辑和/或在批量索引器中对这些记录进行后处理,以删除_type字段。

相关问题