我正在尝试使用deleteByQuery从Solr中删除文档。 我得到的问题是,每当我尝试使用id唯一地删除文档时,它工作正常。
但是,当我尝试基于多个属性进行删除时,它会删除所有找到的文档,即使是一个属性。
例如,
如果我有两份文件说:
type sumqty
---- ------
1 40
2 15
2 10
我要删除{
"id": "232",
"Author": "DEFG",
"Name": "Alphabet",
"Description": "Franz jagt im komplett verwahrlosten Taxi quer durch Bayern",
"_version_": 1513077984291979300
},
{
"id": "231",
"Author": "ABCD",
"Name": "Alphabet",
"Description": "Franz jagt im komplett verwahrlosten Taxi quer durch Bayern",
"_version_": 1513077999721775000
}
所在的文档,我写了这个查询以删除该特定文档。
id is 231 and Author is "ABCD"
正在删除 $id=231;
$author= "ABCD";
$client->deleteByQuery("id:$id, Author:$author");
$client->commit();
的两个文件,而不是只删除一个。
任何人都可以解决这个问题或给我任何解决方案,以便我能做到这一点吗?
感谢。
答案 0 :(得分:2)
删除查询使用与搜索查询相同的语法。因此,您可以轻松地测试该查询并对其进行调整直至其工作。在你的情况下,我怀疑只是做 id:$ id AND Author:$ author 应该有效。