Mroonga blog

2015-04-29

Mroonga 5.02 has been released!

Mroonga is a MySQL storage engine that supports fast fulltext search and geolocation search. It is CJK ready. It uses groonga as a storage and fulltext search engine.

Mroonga 5.02 has been released!

Topics

  • Supported Debian 8.0 (Jessie) and Ubuntu 15.04 (Vivid Vervet)
  • Improved performance to estimate the number of records in range

Supported Debian 8.0 (Jessie) and Ubuntu 15.04 (Vivid Vervet)

In this release, Debian 8.0 (Jessie) and Ubuntu 15.04 (Vivid Vervet) are supported.

See following the URL to install Mroonga:

mroonga.org introduces install procedure for MySQL package, but as you know, Debian 8.0 (Jessie) and Ubutnu 15.04 supports MariaDB 10.0.x from distribution's official package.

  • Debian 8.0 supportes MariaDB 10.0.16
  • Ubuntu 15.04 supports MariaDB 10.0.17

MariaDB 10.0.x bundles Mroonga as a plugin, you can enable Mroonga plugin after installing MariaDB at once. (Note that MariaDB bundled Mroonga version is a bit old, use the packages of mroonga.org provides if you want to use the latest version of Mroonga.)

Here is the install procedure about Mroonga:

INSTALL PLUGIN Mroonga SONAME 'ha_mroonga.so';
CREATE FUNCTION last_insert_grn_id RETURNS INTEGER SONAME 'ha_mroonga.so';
CREATE FUNCTION mroonga_snippet RETURNS STRING SONAME 'ha_mroonga.so';
CREATE FUNCTION mroonga_command RETURNS STRING SONAME 'ha_mroonga.so';
CREATE FUNCTION mroonga_escape RETURNS STRING SONAME 'ha_mroonga.so';

Improved performance to estimate the number of records in range

In this release, we improved the performance by restructuring logics to calculate satistical information.

In the previous versions, Mroonga returns the real number of target records in range instead of estimated one. It affects the performance if there are huge number of records in range.

It is nonsense that calculating statistical information affects to total execution time, so it is changed to return estimated the number of records in range. It significally improves performance of Mroonga.

If Mroonga executes query too slow in range search, and "show profile" indicates that statistics occupies most of execution time, that's it. We recommends to upgrade to Mroonga 5.02.

Additionally, we added mroonga_max_n_records_for_estimate server environment variable. It limits to max estimated records in range. The default value of this variable is 1000. Note that the value of this variable affects whether which index is used or not.

Conclusion

See Release 5.02 - 2015-04-29 about detailed changes since 5.01.

Let's search by Mroonga!