data-config.xml里面的数据
<dataConfig>
<!--- 此段话配置的是一个MySQL的数据源,(数据源也可以配置在solrconfig.xml中) --->
<dataSource name=“testdb" type="JdbcDataSource"
transformer="HTMLStripTransformer"
driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test" user="root" password=“test"/>
<document>
<entity pk="ID" dataSource="testdb" name=“product"
query="select * from t_product where deleted=0 "
deltaQuery="select id from t_product where last_updated > '${dataimporter.last_index_time}'"
deletedPkQuery="select id from t_product where deleted=1"
deltaImportQuery="select * from t_product where ID='${dataimporter.delta.id}'">
<!-- 此条记录有必要说一下,ID指定大写的,与上面语句中的对应起来---->
<field column="id" name="id"/>
<field column="name" name="name"/>
<field column="deleted" name="deleted"/>
</entity>
</document>
</dataConfig>
说明:
transformer 格式转化:HTMLStripTransformer 索引中忽略HTML标签
query:full-import查询数据库表符合记录数据
deltaQuery:delta-import增量索引查询主键id,注意这个只能返回id字段
deltaImportQuery:delta-import增量索引查询导入数据
deletedPkQuery:delta-import增量索引删除主键id查询, 注意这个只能返回id字段
dataimporter.last_index_time和dataimporter.delta.id是内部变量
dataimporter.last_index_time记录在deltaimport.properties文件中,表示最后索引时间,以下是deltaimport.properties文件内容:
last_index_time=2015-08-29 10\:26\:34
product.last_index_time=2015-08-29 10\:26\:34
dataimporter.delta.id中的id表示deltaQuery语句中查询出的列名id
其他内容:
1. solr5官方文档中文:快速入门
2. tomcat下安装solr5及数据库索引