請謹慎使用 commit 指令,建議改用 solrconfig.xml 中的 <autocommit /> 設定。
如果您經常新增/刪除資料,請考慮每天執行一次 optimize()。
(PECL solr >= 0.9.2)
SolrClient::commit — 將所有新增/刪除操作套用到索引
$softCommit
= false
, 布林值 $waitSearcher
= true
, 布林值 $expungeDeletes
= false
): SolrUpdateResponse這個方法會將所有對索引的新增/刪除操作定案。
softCommit(輕提交)
這將以更高效能的方式刷新索引的「檢視」,但沒有「磁碟上」的保證。(Solr4.0+)
輕提交速度更快,因為它只讓索引的變更可見,並且不執行 fsync 索引檔案或寫入新的索引描述符。如果 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 伺服器 >= 4.0
請謹慎使用 commit 指令,建議改用 solrconfig.xml 中的 <autocommit /> 設定。
如果您經常新增/刪除資料,請考慮每天執行一次 optimize()。