作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一种使用 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方法设置管道。
我希望有这样的代码:
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/
我是一名优秀的程序员,十分优秀!