我应该在Spring Batch流程中将项目编入索引?

时间:2015-02-20 04:33:35

标签: spring elasticsearch cassandra spring-batch

我正在从多个平面文件中读取项目,使用一些数据验证步骤处理它们,并将它们写入Cassandra。在流程的某个地方,我还需要向ElasticSearch发送索引请求。我想使用ES Bulk API,因此索引步骤应该在某种程度上进行批处理。

我的问题是,Index步骤应该是ItemProcessor,ItemWriter还是其他东西?

1 个答案:

答案 0 :(得分:1)

我会在ItemWriter中进行批量索引,因为它在一次调用中接收了chunk的所有项目。因此,您可以在一次操作中批量索引所有项目。 This example有点复杂,但write方法会向您展示这个想法。另外,您可以查看Spring Batch Extensions

我可以使用unlogged batches

对Cassandra做同样的事情

最后,您可以使用CompositeItemWriter将多个ItemWriters(Cassandra和Elasticsearch)包装在一起