我花了一些时间尝试修复弹性搜索批量上传警告:
不推荐使用休息请求的内容类型检测。使用 [Content-Type] 标头指定内容类型
我的要求如下:
POST http://elasticserver/_bulk HTTP/1.1
Authorization: xxx
Content-Type: application/x-ndjson; charset=utf-8
Host: elasticserver
Content-Length: 8559
... new line delimited json content ...
我的有效回复为 200 状态如下:
HTTP/1.1 200 OK
Warning: 299 Elasticsearch-5.5.1-19c13d0 "Content type detection for rest requests is deprecated. Specify the content type using the [Content-Type] header." "Mon, 14 Aug 2017 00:46:21 GMT"
content-type: application/json; charset=UTF-8
content-length: 4183
{"took":5538,"errors":false,...}
通过试验,我发现问题出在内容类型字符集定义中Content-Type: application/x-ndjson; charset=utf-8
,如果我将其更改为,Content-Type: application/x-ndjson
我不会收到任何警告。
是弹性搜索问题还是我错误地形成了请求?