我有一个用例,我想使用 Camel 删除 solr 文档(按 id)。
我搜索了文档,但对删除操作的示例没有任何处理。
如果我必须使用 DELETE_BY_ID,我不清楚在哪里设置文档 ID 的值。它是在消息正文还是标题中?欣赏一个小例子。
另外,有没有办法批量删除。因为我有多个文档要从 solr 中删除。
谢谢。
我有一个用例,我想使用 Camel 删除 solr 文档(按 id)。
我搜索了文档,但对删除操作的示例没有任何处理。
如果我必须使用 DELETE_BY_ID,我不清楚在哪里设置文档 ID 的值。它是在消息正文还是标题中?欣赏一个小例子。
另外,有没有办法批量删除。因为我有多个文档要从 solr 中删除。
谢谢。
当 Camel 文档不够用时,一个好主意是查看相关 Camel 组件的单元测试。
对于批量删除,您可以使用 DELETE_BY_QUERY 或使用列表/拆分器多次调用 DELETE_BY_ID,然后在最后提交,等等......类似这样
template.sendBody("direct:deleteListThenCommit", Arrays.asList("id1", "id2"));
...
from("direct:deleteListThenCommit")
.split(body())
.setHeader(SolrConstants.OPERATION, constant(SolrConstants.OPERATION_DELETE_BY_ID))
.to(SOLR_ROUTE_URI)
.end()
.setHeader(SolrConstants.OPERATION, constant(SolrConstants.OPERATION_COMMIT))
.to(SOLR_ROUTE_URI);