我收到警告:
"[types removal] Specifying types in bulk requests is deprecated."]
我做错了什么?这是我的代码:
BulkRequest request = new BulkRequest();
for(Item item : items) {
IndexRequest indexRequest = new IndexRequest(INDEX_NAME, DOC_TYPE, item.getIdentifier());
indexRequest
.opType(DocWriteRequest.OpType.INDEX) // Index the source. If there an existing document with the id, it will be replaced.
.source(JsonUtility.toJson(item), XContentType.JSON);
request.add(indexRequest);
}
elastic.bulk(request, RequestOptions.DEFAULT);
答案 0 :(得分:0)
您的问题中没有提到Elasticsearch
版本,但您可以阅读有关schedule for removal of mapping types的更多信息,并做出相应的反应。
答案 1 :(得分:0)
我认为您正在使用 7.X 版本,问题是您创建的 IndexRequest 正在构建 POST 方法的 URL 以在 ElasticSearch 中搜索,类似于:
其中标识符是用于在搜索中进行区分的属性。在 ElasticSearch 7 中,指定搜索请求中的类型已被弃用,URL 应该类似于:
虽然很难知道因为你没有指定版本,但我认为你代码中的 elasticsearch 库比 7.X 旧,如果你将其更新为 7,则 DOC_TYPE 参数可能会在构造函数中消失。>