是否可以将Apache Solr与Spring Batch集成? [英] Is it possible to integrate Apache Solr with Spring Batch?
本文介绍了是否可以将Apache Solr与Spring Batch集成?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我读到过Apache Solr和Spring Batch。Apache Solr是功能强大的搜索技术。现在,我们希望从Apache Solr读取数据,然后Spring Batch将处理该数据并写入数据库。
我搜索了很多,但我无法获得有关此集成的演示。 是否可以将Apache Solr与Spring Batch集成?
推荐答案
我们已经完成了一个基于Spring Batch的应用程序,该应用程序在Solr云上执行索引,相当于Solr"数据导入请求处理程序"。
第1步:从数据库读取
<bean id="itemReader" class="org.springframework.batch.item.database.JdbcPagingItemReader" scope="step">
<property name="dataSource" ref="mysqlDataSource"/>
<property name="queryProvider">
<bean class="org.springframework.batch.item.database.support.MySqlPagingQueryProvider">
</bean>
</property>
<property name="rowMapper">
<bean class="implement org.springframework.jdbc.core.RowMapper">
<!-- public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
return SolrInputDocument }
-->
</bean>
</property>
</bean>
第二步:处理读取的数据
<bean id="intermediateProcessor" class="our.own.intermediate.Processer" scope="step">
</bean>
第3步:将数据写入/发布到Apache Solr
<bean id="solrItemWriter" class="our.own.writer.SolrItemWriter" scope="step">
<property name="solrServer" ref="solrServer"/>
</bean>
<bean id="solrServer" class="org.apache.solr.client.solrj.impl.CloudSolrServer" destroy-method="shutdown" >
<constructor-arg index="0"><value>solr cloud zookeeper host</value></constructor-arg>
<constructor-arg index="1"><value>false</value></constructor-arg>
</bean>
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrInputDocument;
public class SolrItemWriter implements ItemWriter {
@Override
public void write(List items) throws Exception {
for (Object object : items) {
SolrInputDocument solrInputDocument = (SolrInputDocument) object;
UpdateResponse response = solrServer.add(solrInputDocument);
}
UpdateResponse commitResponse = solrServer.commit();
}
}
我不确定我的答案是否对您有帮助,因为您的问题对要求不是很清楚。为什么要从Apache Solr读取数据并将其写入MySQL数据库
这篇关于是否可以将Apache Solr与Spring Batch集成?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文