Всем привет, запустил OPTIMIZE по rt-индексу. Отработалось мгновенно, сделал SHOW STATUS, кол-во disk_segments показывает по прежнему 21. Как правильно проверить завершился ли OPTIMIZE? И сколько он должен занимать по времени. Кол-во записей в rt-индексе: 460 млн
В searchd log’е посмотрите (/var/log/manticore/searchd.log
). Если действительно дошло до мерджинга, то должно быть что-то типа:
[Tue Jun 14 05:28:11.501 2022] [247] rt: index t: optimized progressive chunk(s) 1 ( left 1 ) in 106ms 895us
Первое число - сколько чанков было смерджено (если всего 6, то будет 5, например). Второе - сколько в итоге стало чанков.
Имейте в виду:
- optimize не мерджит до одного чанка
- есть auto optimize, который по умолчанию включен
- сколько чанков должно быть регулируется:
-
optimize_cutoff
в секции searchd в конфиге Manticore Search Manual: Server settings > Searchd -
optimize_cutoff
в настройках индекса - https://manual.manticoresearch.com/Creating_an_index/Local_indexes/Plain_and_real-time_index_settings#optimize_cutoff -
OPTIMIZE ... OPTION cutoff=N
при ручном запуске, иначе мерджится до значенияoptimize_cutoff
. По умолчанию это значение равно кол-ву ядер * 2. У вас, возможно, больше 11 ядер, если ничего не смерджилось.
-