我已经配置了dataImportScheduler,这些帖子和HTTP请求将增量或更改导入索引。我希望能够做的是每次delta导入运行时它应该运行一个删除查询,它也有一些标准,例如documenttype:deleted
删除索引中不需要的数据。
我使用的delta导入查询是
http://address:8080/solr-multicore/dataimport?command=delta-import&clean=false&commit=true
答案 0 :(得分:2)
您可以使用deletedPkQuery清除已删除的记录。
deletedPkQuery : Only used in delta-import
Example -
<entity name="album" query="SELECT * from albums" deletedPkQuery="SELECT deleted_id as id FROM deletes WHERE deleted_at > '${dataimporter.last_index_time}'">
这可以帮助您删除记录,而无需时间戳。
答案 1 :(得分:1)
是的,有可能。 如果您只想删除,可以删除 deltaQuery 和 deltaImportQuery ,并使用唯一的 deletedPkQuery :
SELECT id FROM db WHERE deletion = 1 AND solrsync_date > '${dataimporter.db.last_index_time}'"
注意: - 删除条件可以是任何内容。
然后运行: http://host:8983/solr/core/dataimport?command=delta-import