使用elasticsearch java客户端时,如何将pdf上载到elasticsearch?
这说明了如何使用RESTAPI上载附件 但是我想用java客户端上传一个附件 我假设以下课程是相关的(尽管我可能错了)使用elasticsearch java客户端时,如何将pdf上载到elasticsearch?,java,
elasticsearch,client,Java,
elasticsearch,Client,这说明了如何使用RESTAPI上载附件 但是我想用java客户端上传一个附件 我假设以下课程是相关的(尽管我可能错了) 我意识到我可以回到REST界面,但我宁愿先尝试使用本机客户端…只需在如下字段中发送BASE64编码的PDF: String base64; try (InputStream is = YourClass.class.getResourceAsStream(pathToYourFile)) { byte bytes[] = IOUtils.toByteArray(is);
我意识到我可以回到REST界面,但我宁愿先尝试使用本机客户端…只需在如下字段中发送BASE64编码的PDF:
String base64;
try (InputStream is = YourClass.class.getResourceAsStream(pathToYourFile)) {
byte bytes[] = IOUtils.toByteArray(is);
base64 = Base64.getEncoder().encodeToString(bytes);
}
IndexRequest indexRequest = new IndexRequest("index", "type", "id")
.setPipeline("foo")
.source(
jsonBuilder().startObject()
.field("field", base64)
.endObject()
);
如果您不知道,我也会链接到,以防它解决了您想做的事情。这里有四个选项,您可以使用它们将PDF索引到ElasticSearch
- 摄取附件插件
- 阿帕奇提卡
- FsCrawler
- 安巴尔
String base64;
try (InputStream is = YourClass.class.getResourceAsStream(pathToYourFile)) {
byte bytes[] = IOUtils.toByteArray(is);
base64 = Base64.getEncoder().encodeToString(bytes);
}
IndexRequest indexRequest = new IndexRequest("index", "type", "id")
.setPipeline("foo")
.source(
jsonBuilder().startObject()
.field("field", base64)
.endObject()
);