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
Параметр обновит «представление» индекса производительнее, но без гарантий согласованности данных на диске (Solr4.0+).
Мягкая фиксация выполняется намного быстрее, поскольку делает видимыми только изменения индекса и не синхронизирует (fsync) файлы индекса с хранилищем или не записывает новый дескриптор индекса. При сбое виртуальной машины JVM или потери питания изменения, которые появились после последней жёсткой фиксации, потеряются. Коллекции поиска с требованиями к работе в режиме, который близок к реальному времени (которые хотят, чтобы изменения индекса были быстро видны для поиска), захотят чаще выполнять мягкую фиксацию, а жёсткую фиксацию реже.
waitSearcher
Блокировать до тех пор, пока не откроется новая поисковая система и не зарегистрируется как основная поисковая система, сделав изменения видимыми.
expungeDeletes
Объединить сегменты с удалениями (Solr1.4 +).
Метод возвращает объект SolrUpdateResponse или выбрасывает исключение, если возникла ошибка.
Метод выбрасывает исключение SolrClientException, если клиент отказал или возникла проблема с подключением.
Метод выбрасывает исключение SolrServerException, если сервер Solr не обработал запрос.
Версия | Описание |
---|---|
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
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.