Amazon RDSのMariaDBにMroongaが指定できるか試してみた
Amazon RDSをMariaDBとして使っているとき、全文検索エンジンのMroongaが
使えるかどうか気になったので調べて見た。
とりあえずEC2からRDSにログインしてshow engines;
を実行しても
「Mroonga」とは出てこないけど、実際には「create table」で指定してもエラーにはならない。
ので、使えることは使える模様。
mysql> create table test(col text, fulltext(col)) engine=Mroonga default charset=utf8; Query OK, 0 rows affected, 2 warnings (0.08 sec) mysql> insert into test(col) values('あいうえお かきくけこ’); Query OK, 1 row affected (0.00 sec) mysql> select * from test5 where match(col) against('あ*' in boolean mode); +---------------------------------+ | col | +---------------------------------+ | あいうえお かきくけこ | +---------------------------------+ 1 rows in set (0.01 sec) mysql> select * from test where match(col) against('か*' in boolean mode); +---------------------------------+ | col | +---------------------------------+ | あいうえお かきくけこ | +---------------------------------+ 1 rows in set (0.01 sec)
(2018/5/24追記)
Twitterでご指摘頂いたので追加調査してみたところ、確かにエラーにはならないものの、Mroongaが使えている訳でもありませんでした。
MariaDB 10.0.17にて確認。
mysql> create table test(col text, fulltext(col)) engine=Mroonga default charset=utf8; Query OK, 0 rows affected, 2 warnings (0.09 sec) mysql> show warnings; +---------+------+----------------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------------+ | Warning | 1286 | Unknown storage engine 'Mroonga' | | Warning | 1266 | Using storage engine InnoDB for table 'test' | +---------+------+----------------------------------------------+ 2 rows in set (0.00 sec) mysql> use information_schema; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select table_schema, table_name, engine from tables where table_name = 'test'; +--------------+------------+--------+ | table_schema | table_name | engine | +--------------+------------+--------+ | mroonga_test | test | InnoDB | +--------------+------------+--------+ 1 row in set (0.00 sec)
という訳で、実際にはデフォルトのInnoDBが使われることになります。
公式のドキュメントにも
と書かれていますね。
Amazon RDS の MariaDB - Amazon Relational Database Service
ちゃんとWarningメッセージは読まねば...