Solr 4 で Solarium を使用しており、複数の基準で削除する必要があります。ドキュメントは、クエリで削除する方法を示しています
$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のアイテムを削除するにはどうすればよいですか?