<dataConfig><!--- 此段話配置的是一個MySQL的數(shù)據(jù)源,(數(shù)據(jù)源也可以配置在solrconfig.xml中) ---><dataSource name="mydb" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test" user="root" password="ninemax"/><document><!-- 下面分別來介紹屬性(如有錯誤,歡迎指出) --><!-- pk="ID" 這個很有必要,因為其中的增量索引查詢主鍵ID時需要 --><!-- dataSource="mydb" 這個引用名字是引用上面數(shù)據(jù)源的名字 --><!-- name="myinfo" 這個名字必須唯一,存在多個實體時 --><!-- query="select * from myinfo WHERE isdelete=0 query查詢是指查詢出表里所有的符合條件的數(shù)據(jù),因為筆者測試的有刪除業(yè)務(wù),所以where 后面有一個限定條件isdelete=0,意思為查詢未被刪除的數(shù)據(jù)(注意這個query查詢只對第一次全量導(dǎo)入有作用,對增量導(dǎo)入不起作用)--><!--deltaQuery="select ID from myinfo where my_date > '${dataimporter.last_index_time}'" deltaQuery的意思是,查詢出所有經(jīng)過修改的記錄的ID可能是修改操作,添加操作,刪除操作產(chǎn)生的(此查詢只對增量導(dǎo)入起作用,而且只能返回ID值)--><!--deletedPkQuery="select ID from myinfo where isdelete=1" 此操作值查詢那些數(shù)據(jù)庫里偽刪除的數(shù)據(jù)的ID(即isdelete標(biāo)識為1的數(shù)據(jù))solr通過它來刪除索引里面對應(yīng)的數(shù)據(jù)(此查詢只對增量導(dǎo)入起作用,而且只能返回ID值)--><!--deltaImportQuery="select * from myinfo where ID='${dataimporter.delta.ID}'"次查詢是獲取以上兩步的ID,然后把其全部數(shù)據(jù)獲取,根據(jù)獲取的數(shù)據(jù)對索引庫進行更新操作,可能是刪除,添加,修改(此查詢只對增量導(dǎo)入起作用,可以返回多個字段的值,一般情況下,都是返回所有字段的列)--><entity pk="ID" dataSource="mydb" name="myinfo" query="select * from myinfo WHERE isdelete=0 " deltaQuery="select ID from myinfo where my_date > '${dataimporter.last_index_time}'" deletedPkQuery="select ID from myinfo where isdelete=1" deltaImportQuery="select * from myinfo where ID='${dataimporter.delta.ID}'"><!-- 此條記錄有必要說一下,ID指定大寫的,與上面語句中的對應(yīng)起來----><field column="ID" name="id"/><field column="name" name="name"/><field column="address" name="address"/><field column="age" name="age"/><field column="my_date" name="my_date"/><field column="isdelete" name="isdelete"/></entity></document></dataConfig>