|
Использую версию 3.5, commit делается от 60 до 180 секунд. На версии 1.4 (2.9) таких проблем не было. При commit передаются 2 флага |
|
Начнем с первой части вопроса. commit долго делается из-за удалений. При индексации - лучше ничего не удалять, при проектировании схемы хранения нужно учитывать это. Вторая часть почему если waitFlush и waitSearch передавать false - то commit быстрый. waitFlush - true (по умолчанию) - дождаться записи результата на диск. лучше дожидаться, он идет не долго и он очень важен. waitSearch - true (по умолчанию) - дождаться окончания работы все поисковиков если было удаление и waitSearch == true, то происходит ожидание закрытие поисковиков, и если поиск идет не переставая (много пользователей, постоянно что то ищется) - то commit вообще не пройдет. если было удаление и waitSearch == false, то начинают создаваться новые поисковики, что приводит к утечки памяти.Более того по умолчанию - можно создавать только 4 поисковика. Симптом этого, в логах появляется сообщения вида: INFO: [] PERFORMANCE WARNING: Overlapping onDeckSearchers=2 причем номер постоянно растет |