SolrClient::commit

(PECL solr >= 0.9.2)

SolrClient::commitЗавершает все добавления/удаления, сделанные в индексе

Описание

public SolrClient::commit(bool $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

Смотрите также

  • SolrClient::optimize() - Дефрагментирует индекс
  • SolrClient::rollback() - Откатывает все добавления/удаления, сделанные в индекс с момента последней фиксации

add a note

User Contributed Notes 1 note

up
1
jason at jasonplayne dot com
11 years ago
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.
To Top