gpt4 book ai didi

java - 如何在 Java 中使用 Elasticsearch Ingest Attachment Processor 插件

转载 作者:行者123 更新时间:2023-12-02 10:23:47 27 4
gpt4 key购买 nike

我正在寻找一种使用 Ingest Attachment Processor Plugin 的方法来自 Java 高级 REST 客户端。

看来您需要执行两个步骤,即首先定义一个包含附件处理器的管道(例如,引用字段data并使用管道IDattachment)

PUT _ingest/pipeline/attachment
{
"description" : "Extract attachment information",
"processors" : [
{
"attachment" : {
"field" : "data"
}
}
]
}

然后您将引用字段(此处数据)和管道(此处附件)的数据放入

PUT my_index/my_type/my_id?pipeline=attachment
{
"data": "e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0="
}

现在我想从 Java 高级 REST 客户端执行这两个步骤。看来我可以用 Put Pipeline API 执行第一步(管道的定义) ,但我找不到第二部分的Java机制,即在引用管道的同时写入实际数据。

最佳答案

在Java高级REST客户端中有一个使用IndexRequest进行索引的方法,在创建它的过程中,您可以通过Java方法设置管道。

它的 JavaDoc 引用 - https://artifacts.elastic.co/javadoc/org/elasticsearch/elasticsearch/7.6.2/org/elasticsearch/action/index/IndexRequest.html?is-external=true#setPipeline(java.lang.String)

我希望有这样的代码:

RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost", 9200, "http")));

final IndexRequest indexRequest = new IndexRequest("index-name", "index-type");
indexRequest.setPipeline("pipeline-name");

Map<String, Object> jsonMap = new HashMap<>();
jsonMap.put("data", "e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0=");

indexRequest.source(jsonMap);
final IndexResponse indexResponse = client.index(indexRequest);

关于java - 如何在 Java 中使用 Elasticsearch Ingest Attachment Processor 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54135989/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com