我想用PHP Solarium更新Apache Solr 4.0中的部分文档,而不是更新整个文档。我知道它可能在Solr(documentation in Solr),我只是找不到任何关于如何在日光浴室做这个的文档。所有现有的Solarium文档都指向我更新整个文档,这是有问题的和不必要的。
答案 0 :(得分:5)
请记住,更新Solr文档中的字段要求您将所有相关字段设置为已存储 - Solr将在后台检索并重新添加完整文档,因此部分更新可能不会“有问题”或“不必要”。一个好的索引策略是始终能够从原始源快速重新创建(并重新索引)文档,因为索引时应用了Solr转换。
话虽如此,日光浴室supports partial updates by using setFieldModifier
。
$doc2 = $update->createDocument();
$doc2->setKey('id', 1);
$doc2->addField('price', '100');
$doc2->setFieldModifier('price', 'set');