Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Solr PECL扩展支持字段更新_Php_Solr_Pecl - Fatal编程技术网

PHP Solr PECL扩展支持字段更新

PHP Solr PECL扩展支持字段更新,php,solr,pecl,Php,Solr,Pecl,根据我在本SO答案中找到的信息: 从Solr4.0开始,可以通过其HTTP API更新Solr文档的特定字段 查看PHP Solr PECL扩展页面: 这似乎意味着增加了对Solr4.0特性的支持。我在这里查阅了扩展的文档: 特别是此处的addDocument文档: 但它似乎并没有指明“覆盖”文档是否意味着删除它,然后添加当前文档,或者单独更新字段。似乎也没有任何方法专门用于更新字段 有人知道扩展是否能够在不删除文档的情况下更新字段值吗?变更日志中没有任何内容表明php\u solr扩展

根据我在本SO答案中找到的信息:

从Solr4.0开始,可以通过其HTTP API更新Solr文档的特定字段

查看PHP Solr PECL扩展页面:

这似乎意味着增加了对Solr4.0特性的支持。我在这里查阅了扩展的文档:

特别是此处的addDocument文档:

但它似乎并没有指明“覆盖”文档是否意味着删除它,然后添加当前文档,或者单独更新字段。似乎也没有任何方法专门用于更新字段


有人知道扩展是否能够在不删除文档的情况下更新字段值吗?

变更日志中没有任何内容表明
php\u solr
扩展支持更新单个字段(字段更新对您的模式也有一些要求)。我要说的是,这并不是一个优先事项,因为它与再次提交文档(您的工具链应该能够做到这一点)没有太大区别


overwrite
替换Solr4.0中与XML更新消息相关的
allowDups
和其他两个设置,但与字段级更新无关—这只是当索引中已经存在uniqueKey时您希望采取的操作。

不幸的是,在某些使用情况下,更新单个字段比替换整个文档要好得多。如果文档的某些部分组合起来非常昂贵,但您希望更改另一个简单字段,则将被迫再次运行昂贵的操作以重建文档。不过,谢谢你的回答。在这种情况下,你可能希望保持字段可用,但是是的,我看到了这个论点。但是,对于Solr来说,情况是一样的——因为它必须检索每个字段的原始值,才能使用新字段值重新提交文档。