⚠️ Эта страница автоматически переведена, и перевод может быть несовершенным.
blog-post

Manticore Search 3.5.2: optimized OPTIMIZE, standalone NOT, faceting via HTTP and more

Мы рады объявить, что Manticore Search 3.5.2 вышел!

Помимо 19 исправлений ошибок, он вводит несколько замечательных новых функций и изменений:

Умнее OPTIMIZE


Если вы используете Manticore Search индексы реального времени , вы знаете, что существует команда OPTIMIZE INDEX , которая выполняет уплотнение индекса. Исторически она могла объединять фрагменты индекса только в один фрагмент. В версии 3.5.2 это изменилось и теперь настраивается:

  • по умолчанию конечное количество фрагментов равно 2 * # of CPU cores, что позволяет эффективно использовать ваши несколько процессоров
  • для тонкой настройки поведения есть новая опция cutoff, которая заставляет продолжать объединение, пока количество фрагментов не станет желаемым
  • 👷 В работе: ещё более умный OPTIMIZE, который вам не придётся запускать внешне!

Оператор NOT в отдельном виде


Full-text operator NOT can be now used standalone. By default, it is disabled since accidental single NOT queries can be slow. But if you know what you are doing it can enable it by setting a new searchd directive not_terms_only_allowed to 0 . This solves the task of full-text blacklisting, when you want to find all documents except those that contain some bad words. This is especially useful when used as a percolate query in Manticore Percolate Queries as it lets you just save your "black list" as a set of percolate queries and then filter out all documents containing them.

max_threads_per_query и OPTION threads


In 3.5.0 we introduced a new multitasking mode which is based on option searchd.threads limiting max number of threads Manticore Search can allocate for different jobs. But if you have too many chunks in a real-time index or way too distributed index + high QPS you might not want to let each query take all your threads. In 3.5.2 there are 2 new options:

  • max_threads_per_query для глобального ограничения
  • и SELECT ... OPTION threads=N для ограничения на уровне отдельного запроса

Агрегации в HTTP‑протоколе


In Manticore 3.5.2 HTTP API /search receives basic support for faceting and grouping .

👣 В работе: добавить эту функциональность в HTTP‑клиенты Manticore ( php , python , javascript , java , elixir )

Порты репликации по умолчанию


Configuring replication has become easier. In most cases, you don't have to think about what ports to dedicate to be used by replication and how to enable replication in configuration at all. If you want to sync an index between multiple Manticore nodes it's now this easy:
Easy replication

Новая схема упаковки


As of 3.5.2 it's now possible to install/upgrade Manticore Search server and auxiliary tools (indexer, indextool etc.) separately. It can be especially useful for those who use plain indexes and before rolling out a new indexer (which perhaps changes index format) want to try out just the searchd (which understands older formats).

The new package names are manticore-server and manticore-tools and can be installed via package managers.
Пакет manticore поддерживается как и ранее, и если вам не нужны перечисленные выше возможности, просто установите/обновите manticore как вы привыкли . Read about more changes happened in 3.5.2 in Manticore Manual and stay tuned!

С уважением,
Команда Manticore

Установить Manticore Search

Установить Manticore Search