Solr 定时增量索引
solr的定时增量更新需要开启solr的dataimporter功能,过程略
配置solr连接数据库的字段配置
<dataConfig>
<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/world" user="root" password="root" batchSize="-1" />
<document name="products">
<entity pk="NID" name="POIBASEINFO"
query="select * from POIBASEINFO"
deltaQuery="select NID from POIBASEINFO where CREATED> '${dih.last_index_time}'"
deletedPkQuery="select NID from POIBASEINFO where statue=0"
deltaImportQuery="select * from POIBASEINFO where NID = '${dih.delta.id}'"
transformer="RegexTransformer"
>
<field column="NID" name="id" />
<field column="NID" name="DOCID" />
<field column="NAME" name="NAME" />
<field column="NAME" name="OTHERNAME" />
<field column="NAME" name="OLDNAME" />
<field column="ABBREVIATION" name="ABBREVIATION" />
<field column="NAME" name="NAMEFORSTORE" />
<field column="ADDRESS" name="ADDRESS" />
<field column="ADDRESS" name="ADDRESSFORSTORE" />
<field column="TELEPHONE" name="PHONE" />
<field column="TELEPHONE" name="PHONEFORSTORE" />
<field column="TYPE" name="TYPE" />
<field column="DISPLAY_X" name="LAT" />
<field column="DISPLAY_Y" name="LON" />
<field column="BOOST" name="BOOST" />
<field column="BRAND" name="BRAND" />
<field column="URL" name="URL" />
<field column="DISPLAY" name="DISPLAY" />
<field column="VANITYCITY" name="TOTALCITY" splitBy = " " />
<field column="NAMEPY" name="PINYIN" />
</entity>
</document>
</dataConfig>
在solrhome的根目录下不是节点目录下 新建一个conf文件夹里面新建dataimport.properties
syncEnabled=1 syncCores=POI server=127.0.0.1 #监听的地址 port=8080 # 端口号 webapp=solr #名称 params=/dataimport?command=delta-import&clean=false&commit=true #增量索引 interval=1 #间隔时间一分钟计算 reBuildIndexInterval=1000 #间隔时间 reBuildIndexParams=/dataimport?command=full-import&clean=true&commit=true #全库索引 reBuildIndexBeginTime=10:54:00 #开始时间
在webapp的solr的web.xml中配置监听器
<listener> <listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class> </listener>
最好放在filter上面
将所需的jar包放到web_info下的
apache-solr-dataimportscheduler.jar
solr-dataimporthandler-4.7.2.jar
solr-dataimporthandler-extras-4.7.2.jar
以及数据库所需的jar
配置完成后重启tomcat
配置日志
将log4jjar放到lib下默认有,在web_info下新建classes 把log4j.properties放入重启tomcat

浙公网安备 33010602011771号