我将 Solarium 与 Solr 4 一起使用,我需要使用多个条件进行删除。文档显示如何使用查询删除
$client = new Solarium\Client($config);
$update = $client->createUpdate();
$update->addDeleteQuery('type:comment');
$update->addCommit();
$result = $client->update($update);
这工作正常。但如果我需要不同的标准,例如 writer_id:123,我不知道该怎么做。如果我添加另一个 addDeleteQuery 行,最终的原始查询如下所示:
<update>
<delete>
<query>type:comment</query>
</delete>
<delete>
<query>writer_id:123</query>
</delete>
<commit/>
</update>
看来这将独立删除它们。我不确定这是否重要,但架构中的 defaultOperator 是 AND。从http://www.solarium-project.org/forums/topic/change-operator/看起来它还不容易被覆盖。我不确定如何在此处应用解决方案来删除,如果它甚至可以在这里工作。
如何使用多个条件删除 solr 中的项目?