Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Spring批处理流中,我应该在哪里索引一个项目?_Spring_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Cassandra_Spring Batch - Fatal编程技术网 elasticsearch,cassandra,spring-batch,Spring,elasticsearch,Cassandra,Spring Batch" /> elasticsearch,cassandra,spring-batch,Spring,elasticsearch,Cassandra,Spring Batch" />

在Spring批处理流中,我应该在哪里索引一个项目?

在Spring批处理流中,我应该在哪里索引一个项目?,spring,elasticsearch,cassandra,spring-batch,Spring,elasticsearch,Cassandra,Spring Batch,我从多个平面文件中读取项目,通过一些数据验证步骤对其进行处理,然后将其写入Cassandra。在流程的某个地方,我还需要向ElasticSearch发送一个索引请求。我想使用ES批量API,因此索引步骤应该在某种程度上进行批处理 我的问题是,索引步骤应该是ItemProcessor和ItemWriter,还是完全其他什么?我会在ItemWriter中进行批量索引,因为它在一次调用中接收块的所有项。因此,您将能够在一次操作中对所有项目进行批量索引。这有点复杂,但是write方法会告诉您这个想法。你

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


我的问题是,索引步骤应该是ItemProcessor和ItemWriter,还是完全其他什么?

我会在ItemWriter中进行批量索引,因为它在一次调用中接收块的所有项。因此,您将能够在一次操作中对所有项目进行批量索引。这有点复杂,但是
write
方法会告诉您这个想法。你可以去看看别的

我也可以用同样的方法处理卡桑德拉


最后,您可以使用

将多个ItemWriter(Cassandra和Elasticsearch)封装在一个中查看ChunkListener ChunkListener看起来很有趣,有没有关于如何使用它的示例?使用它的例子似乎很少。