2024 日本 PHP 研討會

SolrClient::commit

(PECL solr >= 0.9.2)

SolrClient::commit將所有新增/刪除操作套用到索引

說明

公開 SolrClient::commit(布林值 $softCommit = false, 布林值 $waitSearcher = true, 布林值 $expungeDeletes = false): SolrUpdateResponse

這個方法會將所有對索引的新增/刪除操作定案。

參數

softCommit(輕提交)

這將以更高效能的方式刷新索引的「檢視」,但沒有「磁碟上」的保證。(Solr4.0+)

輕提交速度更快,因為它只讓索引的變更可見,並且不執行 fsync 索引檔案或寫入新的索引描述符。如果 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 伺服器 >= 4.0

另請參閱

新增註釋

使用者貢獻的註釋 1 則註釋

jason at jasonplayne dot com
11 年前
請謹慎使用 commit 指令,建議改用 solrconfig.xml 中的 <autocommit /> 設定。

如果您經常新增/刪除資料,請考慮每天執行一次 optimize()。
To Top