PHP Conference Japan 2024

SolrClient::commit

(PECL solr >= 0.9.2)

SolrClient::commit完成对索引的所有添加/删除操作

描述

public SolrClient::commit(bool $softCommit = false, bool $waitSearcher = true, bool $expungeDeletes = false): SolrUpdateResponse

此方法完成对索引的所有添加/删除操作。

参数

softCommit

这将以更高效的方式刷新索引的“视图”,但没有“磁盘”保证。(Solr4.0+)

软提交速度快得多,因为它只使索引更改可见,并且不会同步索引文件或写入新的索引描述符。如果 JVM 崩溃或断电,则上次硬提交后发生的更改将丢失。具有近实时要求(希望索引更改能够快速对搜索可见)的搜索集合将希望经常进行软提交,但不太频繁地进行硬提交。

waitSearcher

阻塞,直到打开一个新的搜索器并将其注册为主要查询搜索器,从而使更改可见。

expungeDeletes

合并带有删除操作的段。(Solr1.4+)

返回值

成功时返回一个 SolrUpdateResponse 对象,失败时抛出异常。

错误/异常

如果客户端失败或存在连接问题,则抛出 SolrClientException

如果 Solr 服务器无法处理请求,则抛出 SolrServerException

变更日志

版本 描述
PECL solr 1.1.0,PECL solr 2.0.0 删除了 $maxSegments
PECL solr 2.0.0b API 已更改:SolrClient::commit ([ int $maxSegments = 0 [, bool $softCommit = false [, bool $waitSearcher = true[, bool $expungeDeletes = false ]]] )
PECL solr 0.9.2 签名:SolrClient::commit ([ int $maxSegments = 1 [, bool $waitFlush = true [, bool $waitSearcher = true ]]] )。$waitFlush:阻塞,直到索引更改刷新到磁盘。

备注

警告

PECL Solr >= 2.0 仅支持 Solr Server >= 4.0

参见

添加注释

用户贡献的注释 1 条注释

1
jason at jasonplayne dot com
11 年前
谨慎使用 commit - 请改用 <autocommit /> 部分 solrconfig.xml。

如果您正在执行大量添加/删除操作,请考虑每天使用 optimize() 一次。
To Top