SOLR 如何使用 $deleteDocById 和 DIH 触发删除

标签 solr dataimporthandler

我需要在完全导入期间使用 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/

相关文章:

solr - 搜索索引器以查找NoSql,特别是Cassandra

python - Solr,晒伤(python)和突出显示: how-to?

csv - SOLR - 从 csv 文件导入 2000 万个文档的最佳方法

mysql - Solr DIH 错误 : Unable to read: dataimport. 属性

mysql - Solr 4.6.0 DataImportHandler 加快性能

java - 通过具有安全凭证的 ModulatedSolrParams Solr 导入

java - SolrJetty 日志记录 - 如何让自定义日志格式化程序正常工作?

solr - 如何向 pysolr 查询添加构面

solr - 使用 Solr 的 NGramFilterFactory 进行相似性搜索

solr - Data-config.xml 和 mysql - 我只能加载 "id"列