Manticore Search 3.2.2 release

We are pleased to announce the release of Manticore Search 3.2.2. Downloads are available here and from the Manticore Github page. Docker image is available at Docker Hub.

New features

Long-awaited autoincrement ID functionality for Real-Time indexes is now available.

Highlighting on stored fields is now supported by the new HIGHLIGHT() function. HIGHLIGHT() is available in SphinxQL as well as the HTTP API.

SNIPPET() can use new special function QUERY() for the query parameter. This eliminates the need to duplicate the full-text match string in search statements using SNIPPET() in SELECT clause.
Highlighting functions receive new parameter 'field_separator'.

Improvements and changes

Starting with this version default location of configuration file is /etc/manticoresearch/manticore.conf. In case of upgrading via deb/rpm packaging, the packages will move the existing sphinx.conf to the new location.

On RHEL/CentOS the service is renamed from searchd to manticore.

For docker the configuration mount is expected to be /etc/manticoresearch.

In previous version, querying stored fields from distributed indexes with remote nodes was slow and high-resource demanding.
To address this we implemented a lazy fetch of stored fields (they are retrieved only after the final result set is build), bringing the performance similar with queries that don't carry stored fields.

String attributes and expressions don't break anymore the multi-query optimization and parallel FACET optimization.
In previous versions, a single attribute introduced in facets would make the aggregations to run sequential, leading to slow faceted searches. Now a faceted search is mostly influenced only by the slowest faceted attribute/expression.
The gains depend on the composition types of facets, in some cases a faceted search can now be several times faster.

ICU data file is now shipped in official and icu_data_dir directive is removed. This was due various issues reported between different ICU versions shipped by official OS channels.

Systemd unit files now ship with 'Restart=on-failure' policy, to allow restarting searchd daemon in case of crashed or unwanted shutdowns.

On RHEL/CentOS 8 Manticore Search is now compiled against mariadb-connector-c-devel and mariadb-connector-c is optional requirement for indexing data from MySQL databases.
We made this change as mariadb-connector-c is compatible with both MySQL and MariaDB shipped in RHEL/CentOS 8.

Bugfixes

A number of bugs have been fixes in this release, to name a few:

  • 795520a  fix #275 binlog invalid state on error no space left on disk/li>
  • 2284da5  fix #279 crash on IN filter to JSON attribute
  • ce2e4b4  fix #281  wrong pipe closing call
  • 440991f fix crash on infix generation for long terms with wide utf8 codepoints
  • faed322  fix JSON converts only numeric to string

For full changelog please consult the release notes.

Leave a Reply

Training

Personal and team training will maximize them performance. 

Custom development

Need cone custom or individual features?

Fill the form and don’t forget to make the description of what you need.

Free config review

There are often optimizations that can be made to a Sphinx / Manticore setup by changing some simple directives in the configuration or making quick changes to an index definition.

Some common mistakes and issues can include:

  • doing main+delta without kill-lists, even if the delta does include updated records found in the main
  • using wildcarding with very short prefix/infix which can hammer performance in some cases
  • disabled (unintentional) seamless rotates and getting stalls on index rotations
  • adding texts as string attributes even if they are not using for any kind of operation (filtering, grouping, sorting) or mandatory to be present in results
  • using deprecated settings 

Having a quick look on the configuration can show issues or potential issues, this is why we want to offer a gift to our growing community!

When uploading your configuration file, we recommend to remove any database credentials first.

We suggest also you give as many possible details about your setup: how big is the data you have, how typical queries look and what issues you experience.

Contact us