我试图弄清楚是否有可能对某些solr文档进行部分更新,但尚未找到任何有用的解决方案。 尝试以下方法:
$client->setServlet(SolrClient::SEARCH_SERVLET_TYPE, "update");
$doc = new SolrInputDocument();
$doc->addField('keywords', '{set:'.$tag.'}');
$updateResponse = $client->addDocument($doc);
$updateResponse->getResponse()
响应:
SolrObject Object
(
[responseHeader] => SolrObject Object
(
[status] => 0
[QTime] => 2
)
)
搜索输出:
{
"url": "http://de.wikipedia.org/wiki/Bier",
"keywords": [
"{set:bier}",
],
"_version_": 1458395909033296000
}
关键字是一个多值字段。
显然,$doc->addfield()
将我的solr指令转换为字符串,这是合乎逻辑的。那么有什么方法可以让我通过'set','add'或'inc'来更新特定字段?