我一直在尝试在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
1条答案
按热度按时间lc8prwob1#
在action命令行中必须有一个不应该存在的
_type
。如果这些记录已经在早期版本的ES中存储在Kafka中,并且您正在重放它们,或者如果客户端应用程序仍然使用相同的逻辑生成这些action记录,那么您需要更改生成逻辑和/或在批量索引器中对这些记录进行后处理,以删除_type
字段。