【问题标题】:Apache Camel ElasticSearch Delete OperationApache Camel ElasticSearch 删除操作
【发布时间】:2023-03-22 06:26:01
【问题描述】:

我正在使用 Apache Camel Elasticsearch 2,我想删除一条记录。

我搜索了文档,但没有得到任何有关删除操作的示例,但我可以使用以下代码在 ElasticSearch 中保存记录。

保存操作:

from("direct:index")
.process(fooSaveProcessor)
.to("elasticsearch://local?operation=INDEX&indexName=twitter&indexType=tweet");

在 FooSaveProcessor.java 中

public class FooSaveProcessor implements Processor {

    @Override
    public void process(Exchange exchange) {
        Foo foo = exchange.getIn().getBody(Foo.class);
        exchange.getIn().setHeader(ElasticsearchConstants.PARAM_INDEX_ID, foo.id);
        String jsonStr = convertToJSON(foo);
        log.info("Input to Elastic " + jsonStr);
        exchange.getIn().setBody(jsonStr);
    }

}

但我无法使用以下代码执行删除操作

删除操作:

from("direct:index")
.process(fooDeleteProcessor)
.to("elasticsearch://local?operation=DELETE&indexName=twitter&indexType=tweet");

在 fooDeleteProcessor.java 中

public class FooDeleteProcessor implements Processor {

    @Override
    public void process(Exchange exchange) {
        Foo foo = exchange.getIn().getBody(Foo.class);
        exchange.getIn().setHeader(ElasticsearchConstants.PARAM_INDEX_ID, foo.id);
    }

}

POM:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-azure-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-elasticsearch-rest-starter</artifactId>
</dependency>

有人可以帮我完成这个吗?

【问题讨论】:

    标签: java elasticsearch apache-camel


    【解决方案1】:

    根据 Camel ElasticSearch 组件documentation,为了使 DELETE 操作起作用,Exchange 的主体需要是要删除的索引 id。因此,您应该将处理器更改为以下内容:

    @Override
    public void process(Exchange exchange) {
        Foo foo = exchange.getIn().getBody(Foo.class);
        exchange.getOut().setBody(foo.id);
    }
    

    【讨论】:

    • 很抱歉未能尽快回复。我多次尝试接受您的回答,但徒劳无功。我不断收到这条消息“感谢您的反馈!声望低于 15 人的投票会被记录下来,但不要更改公开显示的帖子得分。”
    • 刚刚做到了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多