PHP日光浴室:更新部分文档

PHP Solarium: Updating Parts of Documents

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

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

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

$doc2 = $update->createDocument();
$doc2->setKey('id', 1);

$doc2->addField('price', '100');
$doc2->setFieldModifier('price', 'set');