Мы рады сообщить о выпуске Manticore Search 3.2.2. Загрузки доступны здесь и на странице Manticore Github . Образ Docker доступен на Docker Hub .
Новые возможности
- Давно ожидаемая функциональность автоприращения ID для индексов реального времени теперь доступна.
- Подсветка для сохраненных полей теперь поддерживается новой функцией HIGHLIGHT() . HIGHLIGHT() доступен как в SphinxQL, так и в HTTP API .
- SNIPPET()
теперь может использовать новую специальную функцию
QUERY()
для параметра запроса. Это устраняет необходимость дублирования строки полнотекстового совпадения в операторах поиска при использовании SNIPPET() в предложении SELECT.
Функции подсветки получают новый параметр ' field_separator '.
Улучшения и изменения
- Начиная с этой версии расположение файла конфигурации по умолчанию -
/etc/manticoresearch/manticore.conf. При обновлении через deb/rpm-пакеты, пакеты переместят существующий sphinx.conf в новое расположение. - В RHEL/CentOS служба переименована с searchd на manticore.
- Для docker ожидается монтирование конфигурации в
/etc/manticoresearch. - В предыдущей версии запрос сохраненных полей из распределенных индексов с удаленными узлами был медленным и ресурсоемким. Для решения этой проблемы мы реализовали ленивую выборку сохраненных полей (они извлекаются только после построения окончательного набора результатов), что обеспечивает производительность, аналогичную запросам без сохраненных полей.
- Строковые атрибуты и выражения больше не нарушают оптимизацию мультизапросов и параллельную оптимизацию
FACET
. В предыдущих версиях один атрибут, введенный в гранях, заставлял агрегации выполняться последовательно, что приводило к медленному фасетному поиску. Теперь фасетный поиск в основном зависит только от самого медленного фасетного атрибута/выражения.
Выигрыш зависит от типов композиции граней, в некоторых случаях фасетный поиск теперь может быть в несколько раз быстрее. - Файл данных ICU теперь поставляется в официальной версии, а директива icu_data_dir удалена. Это было связано с различными проблемами, сообщенными между разными версиями ICU, поставляемыми официальными каналами ОС.
- Файлы модуля systemd теперь поставляются с политикой 'Restart=on-failure', чтобы разрешить перезапуск демона searchd в случае аварийного или нежелательного завершения.
- В RHEL/CentOS 8 Manticore Search теперь компилируется с использованием mariadb-connector-c-devel, а mariadb-connector-c является необязательным требованием для индексации данных из баз данных MySQL.
Мы внесли это изменение, так как mariadb-connector-c совместим как с MySQL, так и с MariaDB, поставляемыми в RHEL/CentOS 8.
Исправления ошибок
В этом выпуске исправлено несколько ошибок, назовем некоторые:
- 795520a исправлено #275 недопустимое состояние binlog при ошибке "нет места на диске"
- 2284da5 исправлено #279 падение при фильтре IN для атрибута JSON
- ce2e4b4 исправлено #281 неправильный вызов закрытия канала
- 440991f исправлено падение при генерации инфикса для длинных терминов с широкими кодовыми точками UTF8
- faed322 исправлено преобразование JSON только числовых значений в строку
Полный список изменений можно найти в заметках к выпуску .