我配置了dataImportScheduler,用于发布和HTTP请求将增量或更改导入索引。我想做的是,每次运行delta导入时,它都应该运行一个删除查询,该查询具有一些条件,例如documenttype:deleted
,用于删除索引中不需要的数据。
我使用的增量导入查询是
http://address:8080/solr-multicore/dataimport?command=delta-import&clean=false&commit=true
您可以使用deletedPkQuery来清理已删除的记录。
deletedPkQuery:仅用于增量导入
示例-
<entity name="album" query="SELECT * from albums" deletedPkQuery="SELECT deleted_id as id FROM deletes WHERE deleted_at > '${dataimporter.last_index_time}'">
这将帮助您在没有时间戳的情况下删除记录。
是的,这是可能的。如果只想删除,可以同时删除deltaQuery和deltaImportQueryeletedPkQuery用作:
SELECT id FROM db WHERE deletion = 1 AND solrsync_date > '${dataimporter.db.last_index_time}'"
注意:-删除条件可以是任何条件。
然后运行:http://host:8983/solr/core/dataimport?command=delta-导入