【问题标题】:PHP Solarium: Updating Parts of DocumentsPHP 日光浴室:更新部分文档
【发布时间】:2015-02-28 09:09:13
【问题描述】:

我想用 PHP Solarium 更新 Apache Solr 4.0 中的部分文档,而不是更新整个文档。我知道它在 Solr (documentation in Solr) 中是可能的,我只是找不到任何关于如何在 Solarium 中执行此操作的文档。所有现有的 Solarium 文档都指向我更新整个文档,这是有问题且不必要的。

【问题讨论】:

    标签: php solr solr4 solarium


    【解决方案1】:

    请记住,更新 Solr 文档中的字段要求您将所有相关字段设置为已存储 - Solr 将在后台检索并重新添加完整文档,因此部分更新可能不会减少“问题”或“不必要”。一个好的索引策略是始终能够从原始源快速重新创建(和重新索引)您的文档,因为在索引时应用了 Solr 转换。

    话虽如此,日光浴室supports partial updates by using setFieldModifier

    $doc2 = $update->createDocument();
    $doc2->setKey('id', 1);
    
    $doc2->addField('price', '100');
    $doc2->setFieldModifier('price', 'set');
    

    【讨论】:

    • 类似这样我如何在 SOLARIUM CLIENT 的 solr 7 文档中增加 int 值
    • @YabesNadar 使用inc 而不是set。但是 cmets 不是提出问题的地方 - 为此创建一个实际问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    相关资源
    最近更新 更多