我需要在完全导入期间使用 dataimporter.request.clean == false
删除一些文档。这限制了我的选择,似乎使用 $deleteDocById
将是我的最佳选择。但是我找不到如何实现这一目标的好例子。
我正在使用以下内容:
<document>
<entity query="select id, text
IF(yadda.dateyyy <= NOW(),yadda.id,NULL) AS $deleteDocById,
IF(yadda.dateyyy <= NOW(),yadda.id,NULL) AS $skipDoc,
from yadda">
</entity>
</document>
GET 参数?command=full-import&clean=false
似乎可以正确触发最终报告,包括索引完成。添加/更新:72 个文档。删除了 4 个文档。
但是,当查询时,所谓已删除的文档仍在索引中。
最佳答案
$skipDoc
需要设置为字符串值 "true"
才能正常工作。
<document>
<entity query="select id, text
IF(yadda.dateyyy <= NOW(),yadda.id,NULL) AS $deleteDocById,
IF(yadda.dateyyy <= NOW(),"true",NULL) AS $skipDoc,
from yadda">
</entity>
</document>
关于SOLR 如何使用 $deleteDocById 和 DIH 触发删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658319/