Мы рады сообщить, что Manticore Search 3.5.2 вышел!
Помимо 19 исправлений ошибок, он вводит несколько приятных новых функций и изменений:
Умнее OPTIMIZE
Если вы используете Manticore Search индексы в реальном времени , вы знаете, что есть команда OPTIMIZE INDEX , которая выполняет сжатие индекса. Исторически он мог только объединять части индекса в одну. В версии 3.5.2 это изменено и теперь настраивается:
- по умолчанию, конечное количество частей равно
2 * # ядер CPU, что позволяет эффективно использовать ваши многопроцессорные системы - для тонкой настройки поведения есть новая опция
cutoff, которая заставляет его продолжать объединение, пока количество частей не станет таким, каким вы хотите - 👷 В процессе: еще более умный OPTIMIZE, который вам не придется запускать внешне!
Отдельный оператор NOT
Оператор полнотекстового поиска NOT теперь может использоваться отдельно. По умолчанию он отключен, так как случайные одиночные запросы NOT могут быть медленными. Но если вы знаете, что делаете, вы можете включить его, установив новую директиву searchd not_terms_only_allowed в 0. Это решает задачу черного списка полнотекстового поиска, когда вы хотите найти все документы, кроме тех, которые содержат некоторые плохие слова. Это особенно полезно, когда используется в качестве запроса перколяции в Manticore
Percolate Queries
, так как это позволяет вам просто сохранить ваш "черный список" в виде набора запросов перколяции, а затем отфильтровать все документы, содержащие их.
max_threads_per_query и OPTION threads
В версии 3.5.0 мы представили новый многозадачный режим, основанный на опции searchd.threads, ограничивающей максимальное количество потоков, которые Manticore Search может выделить для различных задач. Но если у вас слишком много частей в индексе в реальном времени или слишком
распределенный индекс
+ высокий QPS, вы можете не захотеть, чтобы каждый запрос занимал все ваши threads. В версии 3.5.2 добавлены 2 новые опции:
- max_threads_per_query для глобального ограничения
- и
SELECT ... OPTION threads=Nдля ограничения на уровне запроса
Агрегации в HTTP-протоколе
В Manticore 3.5.2 HTTP API /search получает базовую поддержку для
фасетирования
и
группировки
.
👷 В процессе: добавление этой функциональности в HTTP-клиенты Manticore ( php , python , javascript , java , elixir )
Порты репликации по умолчанию
Настройка репликации стала проще. В большинстве случаев вам не нужно думать о том, какие порты выделить для использования репликацией и как включить репликацию в конфигурации. Если вы хотите синхронизировать индекс между несколькими узлами Manticore, это теперь так просто:
Новая схема упаковки
С версии 3.5.2 теперь возможно устанавливать/обновлять сервер Manticore Search и вспомогательные инструменты (индексатор, indextool и т.д.) отдельно. Это может быть особенно полезно для тех, кто использует обычные индексы и перед развертыванием нового индексатора (который, возможно, изменяет формат индекса) хочет попробовать только searchd (который понимает более старые форматы).
Новые имена пакетов: manticore-server и manticore-tools, которые можно установить через менеджеры пакетов.
Пакет manticore поддерживается, как и прежде, и если вам не нужны вышеуказанные, просто установите/обновите manticore
как вы привыкли
. Читайте о других изменениях, произошедших в 3.5.2, в
Manticore Manual
и следите за новостями!
С уважением,
Команда Manticore
