我是 Solr 的新手。我想问一个问题,我不知道为什么我的 solr delta-import 不起作用。我认为我已经正确配置了我的核心 solr 配置、模式和数据配置。
完全导入效果很好,但增量导入却不行。
我猜我的 Solr 没有正确读取 dataimport.properties 上的“last_index_time”,因为在我的 dataimport.properties 文件中没有“dataimport.last_index_time”。
这是我的 solr 核心配置:
solrconfig.xml
<!-- DIH -->
<!--<lib dir="../../../contrib/dataimporthandler/lib/" regex=".*\.jar" />-->
<lib dir="${solr.install.dir:../../..}/dist/" regex="solr-dataimporthandler-\d.*\.jar" />
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
<!-- -->
架构.xml
<!-- DIH -->
<!--<dynamicField name="*_name" type="text_general" multiValued="false" indexed="true" stored="true" />-->
<!--<dynamicField name="c_*" type="text_general" multiValued="false" indexed="true" stored="true" />-->
<field name="judul" type="text_general" indexed="true" stored="true" multiValued="false" />
<field name="isi" type="text_general" indexed="true" stored="true" multiValued="false" />
<field name="tgl_publikasi" type="date" indexed="true" stored="true" multiValued="false" />
<field name="id_sort" type="int" indexed="true" stored="true" multiValued="false" />
<copyField source="id" dest="id_sort" />
<uniqueKey>id</uniqueKey>
db-data-config.xml
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/medmon_skripsi"
user="root"
password="" />
<document>
<entity name="berita" pk="id" query="select id, c_title, c_isi, c_pubdate from t_berita" deltaImportQuery="select id, c_title, c_isi, c_pubdate from t_berita where id='$(dih.delta.id)'" deltaQuery="select id from t_berita where c_last_modified > '$(dih.last_index_time)'">
<field name="judul" column="c_title" />
<field name="isi" column="c_isi" />
<field name="tgl_publikasi" column="c_pubdate" />
</entity>
</document>
</dataConfig>
数据导入.properties
#Sun May 03 14:47:26 ICT 2015
last_index_time=2015-05-03 14\:47\:06
berita.last_index_time=2015-05-03 14\:47\:06
我尝试通过向 MySQL RDBMS 添加一条记录来查看 delta-import 工作,但我没有看到我的 delta-import 工作。(索引未更新)
仅供参考,我将Solr 4.10.3与Tomcat 8.0.20 一起使用