Мы рады объявить о выпуске Manticore Search 2.8.0 GA.
Предварительно собранные пакеты для Debian,Ubuntu, Red Hat/CentOS, Windows и OSX можно скачать здесь .
Новые функции и улучшения
- Основная функция, представляемая в этом выпуске, — поддержка clustering для перколирующих индексов.
- Для перколирующих индексов команда DESCRIBE теперь имеет расширение TABLE, позволяющее просматривать схему перколирующих документов.
- Функции
ANY/ALLмогут использоваться для строковых атрибутов или выражений, а также для тегов PQ. SELECT над pq‑индексами имеет такую же функциональность, как и над обычными индексами, за исключением клаузулы MATCH. - Новые параметры
CALL PQ
:
skip_bad_json— если включено, повреждённые json‑документы будут пропущены и не прервут текущий вызовmode— для распределённых настроек. Значение по умолчанию 'sparsed' — движок будет распределять документы между перколирующими агентами. Альтернативный вариант 'sharded', при котором все документы отправляются каждому перколирующему агентуshift— смещение идентификаторов документов, еслиdocs_idне указан. Полезно для распределённого режима 'sparsed'
- charset_table может использовать псевдоним 'non_cjk', предоставляющий набор общих символов большинства нелатинских (non‑cjk) языков. Набор вдохновлён токенизатором ICU.
- Аналогичный псевдоним для ngram_chars 'cjk' может использоваться как готовый набор CJK‑символов, применяемых в неразделённых текстах.
- Manticore теперь поставляется с набором из 50 stopwords файлов, основанных на языках, которые можно указать в директиве stopwords, используя короткий код языка.
- Поля JSON в выражениях больше не требуют явного преобразования. Например, в случае GEODIST требовалось явно приводить геокоординаты, хранящиеся как float в объекте JSON:
GEODIST(DOUBLE(json.lat),DOUBLE(json.long),x,y). - Пакеты RPM поставляются с генератором systemd, который определяет, можно ли использовать jemalloc вместо стандартного malloc. jemalloc должен быть уже установлен в системе, а прозрачные огромные страницы должны быть отключены. Использование jemalloc показало улучшения в использовании ОЗУ и производительности.
Исправления
В выпуск также включено 18 исправлений ошибок, ниже несколько из них:
- bf4e9ea исправил сохранение пустого meta для RT‑индекса
- 6b95d48 исправил строковые атрибуты > 4M, использовать saturate вместо overflow
- 8868b20 исправил обрезку сообщения об ошибке SphinxQL более 512 символов
- de9deda исправил сбой при сохранении перколирующего индекса без binlog
Для полного отчёта, пожалуйста, обратитесь к Release note .