Мы рады объявить о GA‑выпуске Manticore Search 2.4.1.
Предварительно собранные пакеты для Debian,Ubuntu, Red Hat/CentOS, Windows и OSX можно скачать здесь .
Manticore Search 2.4.1 GA на 100 % совместим с существующими версиями Sphinx (если вы обновляетесь с более старой версии Sphinx, проверьте путь обновления до 2.3.2).
Новые возможности
Оператор OR в WHERE
Теперь возможно использовать OR в условии WHERE между фильтрами атрибутов. Обратите внимание, что всё ещё нельзя использовать OR между оператором MATCH и фильтрами атрибутов.
mysql> select * from wikipedia where match('test') and pageid=357881 OR len=2070;
+-----------+------------------------------------------------------------+---------+-------+------------+
| id | title | pageid | len | touched |
+-----------+------------------------------------------------------------+---------+-------+------------+
| 227704715 | Test-driven_development | 357881 | 24915 | 1216959577 |
| 222632760 | Echo_(command) | 754160 | 2070 | 1214847412 |
+-----------+------------------------------------------------------------+---------+-------+------------+
2 rows in set (0.01 sec)
Режим обслуживания
С помощью инструкции SET сервер можно перевести в режим обслуживания. В этом режиме только клиенты, использующие VIP‑соединения, могут выполнять запросы.
mysql> SET MAINTENANCE = 1;
CALL KEYWORDS на распределённых индексах
Теперь также возможно выполнять CALL KEYWORDS на распределённых индексах. Команда выполняется на каждом узле, а результаты объединяются мастером и возвращаются.
Группировка в UTC
По умолчанию функции группировки по времени вычисляются в локальном часовом поясе. grouping_in_utc позволяет переключиться на часовой пояс UTC. Также можно изменить это «на лету» с помощью инструкции SET .
Права файлов журналов
По умолчанию searchd создаёт файлы журналов с правами 600. Теперь можно использовать query_log_mode для установки других прав.
searchd
{
...
query_log_mode = 666
...
}
Other small tweaks:
Другие небольшие улучшения:
Вес полей может быть нулевым или отрицательным
max_query_time теперь может прерывать полносканные запросы (запросы без оператора MATCH)
Добавлены net_wait_tm, net_throttle_accept и net_throttle_action. Это тонкие настройки сетевого потока для workers=thread_pool в случае загруженных серверов.
теперь можно выполнять COUNT DISTINCT при использовании фасетов
IN теперь может работать с массивами JSON‑float
оптимизация multi‑query больше не ломается выражениями integer/float
SHOW META выводит строку 'multiplier', когда используется оптимизация multi‑query
Сборка
Минимальная версия gcc, необходимая для сборки, — 4.7.2. Процесс сборки требует cmake. Это даёт возможность упаковать сборку в zip или в специфичный пакет дистрибутива (rpm/deb). Для получения дополнительной информации обратитесь к разделу сборки в документации.
Обновление с Sphinx search
Manticore Search по‑прежнему использует обычный файл /etc/sphinxsearch/sphinx.conf.
Сервис будет работать от пользователя manticore (Spinx использовал sphinx или sphinxsearch).
По умолчанию используются каталоги /var/lib/manticore, /var/log/manticore, /var/run/manticore. Вы всё ещё можете использовать существующий sphinx.conf, но необходимо вручную изменить права на /var/lib/sphinxsearch, /var/log/sphinxsearch, /var/run/sphinxsearch.
Исправления ошибок
Было исправлено множество багов, сообщённых по Sphinx 2.3.2, но возможно не все. Если после обновления вы всё ещё сталкиваетесь с ошибкой, пожалуйста, создайте тикет в официальном трекере проблем .
Если вы используете RealTime‑индексы, мы рекомендуем обновиться до Manticore Search 2.4.1 GA, так как прогрессивное слияние RT‑чанков, введённое в Sphinx Search 2.3.2, может привести к повреждению индекса.