【问题标题】:Unable to delete unique document from Solr无法从 Solr 中删除唯一文档
【发布时间】:2015-09-23 22:55:19
【问题描述】:

我正在尝试使用 deleteByQuery 从 Solr 中删除一个文档。 我遇到的问题是,每当我尝试仅使用 id 唯一地删除文档时,它都可以正常工作。

但是,当我尝试基于多个属性进行删除时,它会删除它甚至找到一个属性的所有文档。

例如,

如果我有两个文件说:

{
        "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();

这是删除带有id 231 and id 232的两个文档,而不是只删除一个。

任何人都可以解决这个问题或给我任何解决方案,以便我可以实现这一目标吗?

谢谢。

【问题讨论】:

    标签: php solr


    【解决方案1】:

    删除查询使用与搜索查询相同的语法。因此,您可以轻松地测试该查询并对其进行调整,直到它工作为止。在你的情况下,我怀疑只是做 id:$id AND Author:$author 应该可以工作。

    【讨论】:

    • 我什至尝试了这个查询,但它的作用是删除所有文档并清除 solr 数据库。我写了这个查询: $solr->deleteByQuery('name:$name AND age:25');它会删除找到相同名称的所有文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 2017-07-28
    相关资源
    最近更新 更多