是否可以更改delta import命令以根据条件删除不需要的文档?每次delta导入运行时

时间:2012-07-12 10:20:26

标签: search solr

我已经配置了dataImportScheduler,这些帖子和HTTP请求将增量或更改导入索引。我希望能够做的是每次delta导入运行时它应该运行一个删除查询,它也有一些标准,例如documenttype:deleted删除索引中不需要的数据。

我使用的delta导入查询是

http://address:8080/solr-multicore/dataimport?command=delta-import&clean=false&commit=true

2 个答案:

答案 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