Go easy on your use of commit - use the <autocommit /> section solrconfig.xml instead.
Also consider using optimize() once a day if you are doing lots of adds/removes.
(PECL solr >= 0.9.2)
SolrClient::commit — Завершает все добавления/удаления, сделанные в индексе
$softCommit
= false
, bool $waitSearcher
= true
, bool $expungeDeletes
= false
): SolrUpdateResponseМетод завершает все добавления/удаления, сделанные в индексе.
softCommit
Обновляет 'view' индекса более производительно, но без гарантий 'on-disk'. (Solr4.0+)
Мягкая фиксация выполняется намного быстрее, поскольку она делает видимыми только изменения индекса, а не файлы индекса fsync и не записывает новый дескриптор индекса. В случае сбоя JVM или потери питания изменения, произошедшие после последней жёсткой фиксации, будут потеряны. Коллекции поиска, которые имеют требования к работе в режиме, близком к реальному времени (которые хотят, чтобы изменения индекса были быстро видны для поиска), захотят чаще выполнять мягкую фиксацию, а жёсткую фиксацию реже.
waitSearcher
Блокировать до тех пор, пока не откроется новая поисковая система и не будет зарегистрирована как основная поисковая система, сделав изменения видимыми.
expungeDeletes
Объединить сегменты с удалениями. (Solr1.4 +)
Возвращает объект SolrUpdateResponse или выбрасывает исключение в случае возникновения ошибки.
Выбрасывает SolrClientException, если клиент отказал или возникла проблема с подключением.
Выбрасывает SolrServerException, если сервер Solr не смог обработать запрос.
Версия | Описание |
---|---|
PECL solr 1.1.0, 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
Go easy on your use of commit - use the <autocommit /> section solrconfig.xml instead.
Also consider using optimize() once a day if you are doing lots of adds/removes.