eth*_*nny 1 java elasticsearch
我一直在尝试使用 JEST api 将一些信息写入工作的 elasticsearch 7.3 集群。一些资源:
遇到了这个错误消息:
uri [/my_index] 和方法 [POST] 的 HTTP 方法不正确,允许:[GET、DELETE、PUT、HEAD]
我发送的数据如下:
// write directly to elastic
Map<String, Object>infoMap = new LinkedHashMap();
lagInfoMap.put("type", "consumer");
lagInfoMap.put("topicval", topic);
lagInfoMap.put("groupval", group);
lagInfoMap.put("sumval", sumLag);
try {
jestResult = jestClient.execute(new Index.Builder(infoMap).index("my_index").build());
if(!jestResult.isSucceeded()) {
LOGGER.error(jestResult.toString());
}
} catch(IOException ioe) {
LOGGER.error("Unable to write to elastic", ioe);
return false;
}
Run Code Online (Sandbox Code Playgroud)
似乎它需要一个 PUT 请求,但从文档(或我能找到的任何示例)中不清楚如何修改执行方法来执行此操作。
几天前我也遇到了同样的问题,最终放弃了使用JEST for elasticsearch 7.3 的想法,从他们的 Github 页面来看,它看起来不像他们的最新版本 6.3.1 https://github.com/searchbox -io/Jest/releases,与 elasticsearch 7.X 不兼容。
Elasticsearch 7.X 使用PUTHTTP 方法来索引文档,而早期版本则使用该POST方法,因此会出现以下异常。
uri [/my_index] 和方法 [POST] 的 HTTP 方法不正确,允许:[GET、DELETE、PUT、HEAD]
我建议您使用elasticsearch官方高级java客户端,而不是JEST,这是由elasticsearch背后的elastic公司正在开发的活动。
| 归档时间: |
|
| 查看次数: |
2742 次 |
| 最近记录: |