solr資料定時更新
阿新 • • 發佈:2018-12-25
solr定時增量更新需要再新增一個jar包。solr4、solr5、solr6由於solr-core-x.jar的原始碼的調整,不能使用同一個jar包。solr4由於版本過老就暫時不做介紹,solr5所需jar包下載、原始碼下載,solr6所需jar包下載、原始碼下載。solr5與6設定定時增量更新步驟相同,只是所需的該jar包不同。
1、將 apache-solr-dataimportscheduler-1.0.jar 和solr自帶的 apache-solr-dataimporthandler-.jar, apache-solr-dataimporthandler-extras-.jar 放到solr的lib目錄下面
2、修改solr中WEB-INF/web.xml, 在servlet節點前面增加:
- <listener>
- <listener-class>
- org.apache.solr.handler.dataimport.scheduler.ApplicationListener
- </listener-class>
- </listener>
3、將apache-solr-dataimportscheduler-.jar 中 dataimport.properties 取出
將dataimport.properties下載並該檔案並根據實際情況修改,然後放到 solr.home/conf (不是solr.home/core/conf) 目錄下面,該目錄是沒有的,需要新建
注意:由於在conf下data-config.xml檔案中內容如下:
- "1.0" encoding="UTF-8" xml version=
- <dataConfig>
- <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/zhsoftbank" user="root" password="root" batchSize="-1" />
- <span
- <span style="white-space:pre"> </span><entity name="news" pk="id" dataSource="source1"
- query="select * from news"
- deltaImportQuery="select * from news where id='${dih.delta.id}'"
- deltaQuery="select id from news where updateTime> '${dataimporter.last_index_time}'">
- <field column="id" name="id"/>
- <field column="title" name="title"/>
- <field column="synopsis" name="synopsis"/>
- <field column="updateTime" name="updateTime"/>
- </entity>
- </document>
- </dataConfig>