這link介紹如何使用REST API上傳附件。如何使用彈性搜索Java客戶端時,我上傳PDF到elasticsearch?
但我要上傳與Java客戶端的連接...
我假設下面是一些有關(雖然我可能是錯的)...
org.elasticsearch.ingest.IngestService
org.elasticsearch.ingest.PipelineStore
我意識到我可以只回落到REST接口,但我寧願嘗試首先使用本地客戶端...
這link介紹如何使用REST API上傳附件。如何使用彈性搜索Java客戶端時,我上傳PDF到elasticsearch?
但我要上傳與Java客戶端的連接...
我假設下面是一些有關(雖然我可能是錯的)...
org.elasticsearch.ingest.IngestService
org.elasticsearch.ingest.PipelineStore
我意識到我可以只回落到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()
);
如果你沒有意識到這一點,我也鏈接到FSCrawler project的情況下,它解決了你想已經做一些事情。