谨慎使用 commit - 请改用 <autocommit /> 部分 solrconfig.xml。
如果您正在执行大量添加/删除操作,请考虑每天使用 optimize() 一次。
(PECL solr >= 0.9.2)
SolrClient::commit — 完成对索引的所有添加/删除操作
$softCommit
= false
, bool $waitSearcher
= true
, bool $expungeDeletes
= false
): SolrUpdateResponse此方法完成对索引的所有添加/删除操作。
softCommit
这将以更高效的方式刷新索引的“视图”,但没有“磁盘”保证。(Solr4.0+)
软提交速度快得多,因为它只使索引更改可见,并且不会同步索引文件或写入新的索引描述符。如果 JVM 崩溃或断电,则上次硬提交后发生的更改将丢失。具有近实时要求(希望索引更改能够快速对搜索可见)的搜索集合将希望经常进行软提交,但不太频繁地进行硬提交。
waitSearcher
阻塞,直到打开一个新的搜索器并将其注册为主要查询搜索器,从而使更改可见。
expungeDeletes
合并带有删除操作的段。(Solr1.4+)
成功时返回一个 SolrUpdateResponse 对象,失败时抛出异常。
版本 | 描述 |
---|---|
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
谨慎使用 commit - 请改用 <autocommit /> 部分 solrconfig.xml。
如果您正在执行大量添加/删除操作,请考虑每天使用 optimize() 一次。