【发布时间】: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