使用弹性搜索 py 进行无类型批量更新



我正在尝试使用弹性搜索py进行批量插入,但我不想指定类型,但它不允许我指定None或"作为类型值。我该如何解决这个问题?

bulk_data = []
this_merchant_product = {'field1': 'value1'}
op_dict = {
    "index": {
        "_index": "product",
        "_type": None,
        "_id": str(this_merchant_product_id)
    }
}
bulk_data.append(op_dict)
bulk_data.append(this_merchant_product)
es = Elasticsearch()
res = es.bulk(index='product', body=bulk_data)

我也尝试将_type设置为",但这也不起作用。

这些是错误消息。

这是我将_type设置为无时的错误:

elasticsearch.exceptions.RequestError: RequestError(400, 'action_request_validation_exception', 'Validation Failed: 1: type is missing;

这是我将_type设置为"时遇到的错误:

java.lang.IllegalArgumentException: name cannot be empty string

每个索引在 Elasticsearch 6.x+ 中都有一个映射类型。在Elasticsearch 7.x+中删除类型。在版本 2.x - 5.6 中,您可以使用多个映射。假设您使用的是版本 6.x ,您需要在索引中包含文档类型。

相关内容

  • 没有找到相关文章

最新更新