在CentOS6.5上使用MariaDB中新捆绑的全文搜索引擎Mroonga

由于Mroonga最近与MariaDB捆绑在一起,所以我立刻进行了安装尝试。

因为官方文档还没有提供步骤,所以我边查边进行,但最终只花了不到30分钟就完成了,真是令人感动。

环境

CentOS:6.5

 

MariaDB:10.0.15

 

Mroonga:4.06

操作流程

最初先进行各种软件包的更新至最新版本。

$ sudo yum update -y

安装MariaDB

安装捆绑了Mroonga的版本10.0.15。

$ sudo rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

$ sudo vi /etc/yum.repos.d/mariadb.repo
$ cat /etc/yum.repos.d/mariadb.repo
------------------------------
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0.15/centos6-x86
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=0
------------------------------
$ sudo rpm -e --nodeps mysql-libs    # mysql-libsは干渉するので先に消しておきます。

$ sudo yum install -y --enablerepo=mariadb MariaDB-devel MariaDB-client MariaDB-server
$ sudo service mysql start   # MariaDBでもmysqlなのね…

$ sudo /usr/bin/mysqladmin -u root password 'mysqlpass'
$ sudo /usr/bin/mysqladmin -u root -h v157-7-239-240.z1d8.static.cnode.jp password 'mysqlpass'

$ mysql -uroot -pmysqlpass
> exit

MariaDB的安装可以使用这个。

根据需要适当编辑my.cnf文件。

启用Mroonga

MariaDB自带的Mroonga默认为禁用状态。
我会启用它。

为了确认一下,确保它真的无效。

SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                                    | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| CSV                | YES     | CSV storage engine                                                         | NO           | NO   | NO         |
| MRG_MyISAM         | YES     | Collection of identical MyISAM tables                                      | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables                  | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears)             | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                                      | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| ARCHIVE            | YES     | Archive storage engine                                                     | NO           | NO   | NO         |
| FEDERATED          | YES     | FederatedX pluggable storage engine                                        | YES          | NO   | YES        |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                                         | NO           | NO   | NO         |
| Aria               | YES     | Crash-safe tables with MyISAM heritage                                     | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
10 rows in set (0.00 sec)

你可以从不显示在列表中这一事实来确认它已经无效了。

请使用以下命令进行启用。

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';
SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                                    | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| CSV                | YES     | CSV storage engine                                                         | NO           | NO   | NO         |
| MRG_MyISAM         | YES     | Collection of identical MyISAM tables                                      | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables                  | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears)             | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                                      | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| Mroonga            | YES     | CJK-ready fulltext search, column store                                    | NO           | NO   | NO         |
| FEDERATED          | YES     | FederatedX pluggable storage engine                                        | YES          | NO   | YES        |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                                         | NO           | NO   | NO         |
| Aria               | YES     | Crash-safe tables with MyISAM heritage                                     | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                                     | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
11 rows in set (0.00 sec)

确认了Mroonga的加入后完成。无需重新启动服务器。

非常方便,让人惊讶。

限制条件

这个捆绑版安装非常简单,但不幸的是,有以下限制。

    • TokenMecabが使えない。

MySQL由来のNormalizer(名前にMySQLと入ってる奴)が使えない。 勘違いでした(2014/12/18追記)
10.0.15でバンドルされたMroongaは4.06なので、新機能のトークンフィルターが使えない。

结构非常严密。

由于这些限制,Mroonga的捆绑版似乎只能用于“想要方便使用时”。就目前而言的位置。如果无法接受这些限制,可以继续使用传统的方式,从源代码安装。这里的步骤可能会有所帮助。

bannerAds