首页 > 解决方案 > 如何使用 apache camel 从 elasticseach 获取所有条目?

问题描述

假设我有这样的弹性搜索实例:

从(“直接:索引”)
    .to("elasticsearch://local?operation=INDEX&indexName=twitter& 
indexType=tweet");
我添加了 10 条推文,我如何从 elasticsearch 获取所有这些推文的列表?我试过这样的事情:

from("elasticsearch://local?operation=MULTIGET&indexName=twitter& indexType=tweet").process(new MyProcessor())
   .to("直接:某处")  
但它不起作用,你能帮我做这个吗?它会在处理器中存储什么类型的数据?

我需要使用 apache camel DSL 获取所有推文的列表,你能帮我吗?

标签: javaelasticsearchapache-camelosgiapache-karaf

解决方案


只是猜测,但骆驼弹性页面说MULTIGET

检索 MultigetRequest 中指定的指定索引类型并在正文中返回 MultigetResponse 对象

所以我猜你必须在你的消息正文中提供一个MultigetRequest对象,然后在 Elastic 中执行搜索。

这意味着您不能直接将其用作 Consumer 使用from(...),但您必须使用 调用它.to(...)并确保消息包含正确的正文。


推荐阅读