[ANN] Mroonga 7.06 - Fast fulltext search for all languages on MySQL

Kentaro Hayashi <[email protected]> Tue, 29 Aug 2017 17:30:41 +0900
Newsgroups gmane.comp.db.mysql.general
Message-ID <[email protected]>
Hi,

Mroonga 7.06 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.

Document:
   http://mroonga.org/docs/

How to install: Install Guide
   http://mroonga.org/docs/install.html

How to upgrade: Upgrade Guide
   http://mroonga.org/docs/upgrade.html

Blog:
   http://mroonga.org/en/blog/2017/08/29/mroonga-7.06.html

Changes:
   http://mroonga.org/docs/news.html#release-7.06

Here is the topic in this release.

  * Generated Column has been supported

### Generated Column has been supported

In this release, Generated Column has been supported!

Here is the sample schema to use generated column.

    CREATE TABLE logs (
      id INT,
      record JSON,
      message VARCHAR(255) GENERATED ALWAYS AS (json_extract(`record`, '$.message')) STORED,
      FULLTEXT INDEX(message) comment 'tokenizer "TokenBigramSplitSymbolAlphaDigit"'
    ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4;

As you can see, the partial value of `record` column is used as `message` column.

Then, you can do full text search against `message` column by the following query.

    > SELECT * FROM logs WHERE MATCH(message) AGAINST("ar" IN BOOLEAN MODE);
    +------+-----------------------------------------+-----------+
    | id   | record                                  | message   |
    +------+-----------------------------------------+-----------+
    |    1 | {"level": "info", "message": "start"}   | "start"   |
    |    2 | {"level": "info", "message": "restart"} | "restart" |
    +------+-----------------------------------------+-----------+
    2 rows in set (0.02 sec)

You can also define `VIRTUAL` without actual data column.

    CREATE TABLE logs (
      id INT,
      record JSON,
      message VARCHAR(255) GENERATED ALWAYS AS (json_extract(`record`, '$.message')) VIRTUAL
    ) ENGINE=Mroonga DEFAULT CHARSET=utf8mb4;
    
But note that `FULLTEXT INDEX(message)` is not supported yet.

Regards,


-- 
Kentaro Hayashi <[email protected]>
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEcZ6y2T2+nE0h+6Bk9/t1xWbtIOMFAlmlJjEACgkQ9/t1xWbt
IOONvw/+NW1jnxE7cdgyA42SkNJQ5Awi5ubndK/csVkwDRhnH/C4JFbrhmWVgBVV
b6xp3IuR2/9g/Fs0ooyvuw3NyUDTOI7QhioD0ehjcfrMtcG3IDwhe5zwOZv0X2o5
eW4oUNWsn23jJL9UopJ5UA9n9eh8bYC5eVEKkdKTncLlIwN2PlCLrMTCV36sePeg
URPnlLNcWJXFGAnrD9UIz7HEc71BQ+4VGyJ2db0ozcmo/KkP/SShrn6ObrIjXsbP
WmcB7ssAdn7zFfvPKaaccjvtt4GNGycXP7qlb0Jl0eGKg06/omKYG+jrTIqWDYFp
veKnlsG7lRjb8QT599seK0jy9jBFKd2ohdyfJjR5NjD0Ca4Y0QcidX3Mjhc+1UCW
zkX8YLHXEFKuHZevhFZPyy2cRsZK5dH7mTnDZyS5v265yemdUTmo+mubxvUnls2C
mh6mAKRaA+TXjz3ChOj+pUCXVSN3FomvagXdJyCTOv+z5uCd4ztGfLrd+STTI/fg
Rwqrmet8ziI+1w2VVUnI/+4SDwG7wNPcjVce9OoKWrHGa8Xt7zOb3zOK/8wqT0G1
MCjgsi0wKLSxSf0dVq5ojCLIhkjXQZgpnhdx4sO+YREIBg4pAbfmkZX7eD73ZN3J
qDvp7Z5j8zun7ydOnXr99i/5w0muj2mcdn5nJcmIUbH1jjHZBdQ=
=kk18
-----END PGP SIGNATURE-----