如何在Java中使用Elasticsearch提取附件处理器插件

时间:2019-01-10 19:50:58

标签: java rest elasticsearch

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

似乎您需要执行两个步骤,即首先定义包含附件处理器的管道(例如,引用字段 data 并使用管道ID attachment

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

然后您将数据(Put)指向字段(此处为 data )和管道(此处为 attachment

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

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

1 个答案:

答案 0 :(得分:0)

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

JavaDoc参考-https://artifacts.elastic.co/javadoc/org/elasticsearch/elasticsearch/6.5.4/org/elasticsearch/action/index/IndexRequest.html?is-external=true#setPipeline(java.lang.String)

我希望有这样的代码:

IndexRequest