YWS*_*WSW 5 mysql solr dataimporthandler
当我运行/ solr/dataimport?command = full-import时它会处理所有文件.但是,当我运行delta导入(/ solr/dataimport?command = delta-import)时,它正确识别更新的数据(返回" <str name="Total Rows Fetched">1</str>")但不处理任何数据(返回" <str name="Total Changed Documents">0</str>")
我的data-config.xml看起来像这样:
<entity name="category" pk="catID"
query="SELECT CONCAT('c_',catID) ID, catID, catName FROM category"
deltaImportQuery="SELECT CONCAT('c_',catID) ID, catID, catName FROM category WHERE catID = '{$dataimporter.delta.catID}'"
deltaQuery="SELECT catID FROM category WHERE catDate > '${dataimporter.last_index_time}'"/>
Run Code Online (Sandbox Code Playgroud)
(注意 - 我的concat有一个独立的原因)
为什么在delta导入获取但不处理时完整导入过程?
这是因为完全导入将处理数据库中的每个文档。
增量导入仅处理自上次导入以来已修改的文档(在您的情况下,由 catDate 字段指示)。
例如,假设您在 2012-09-09 12:15:38 进行了完全导入。
接下来,您在 2012-09-10 12:15:38 执行增量导入。仅处理 catDate > '2012-09-09 12:15:38' 的文档。
这个想法是,增量导入是一种维护不断变化的索引的方法,而不必每次都进行完全导入。