隔週連載groonga

第9回 mroongaを広く使ってもらうために大事なこと - mroongaのパッケージング動向の紹介

この記事を読むのに必要な時間:およそ 3.5 分

Fedora

Fedoraでは2013年7月のリリースからFedora 19向けにRPMパッケージを提供しています。

Fedora 19での特長としては,MySQLだけではなく,MariaDB向けのRPMパッケージも提供していることがあげられます。

Fedora 19からはMariaDBが採用されました。そのため,従来のMySQLパッケージは別名のパッケージとして提供されるようになっています。またこの変更を受けて,sudo yum install mysqlを実行したときにインストールされるのもMySQLではなく,MariaDBとなっています。

そのような事情もあり,Fedora 19向けには2系統のRPMパッケージを提供しています。

パッケージ名 対応データベース バージョン
mysql-mroonga MySQL 5.5.32
mariadb-mroonga MariaDB 5.5.31

また,公式では初のMariaDB向けのRPMパッケージの提供となります。これまでは,MariaDB対応を謳っているものの実際のパッケージは(WindowsでのMariaDBバンドルを除けば)提供していませんでした。そのため,有志の方によるリポジトリがMariaDB対応のパッケージをインストールする唯一の方法となっていました。

今後としてはmroongaをFedoraプロジェクト配下でリリースできるようにする予定です。

Fedoraプロジェクト配下でmroongaをリリースできるようになると,Fedora向けに提供している独自のリポジトリをセットアップする必要がなくなりより導入しやすくなります。

これを実現するために,関連するパッケージもFedoraプロジェクト配下でリリースできるように進めています。例えばgroongaについてはすでにFedoraプロジェクトでリリースできるようにしました。groonga-normalizer-mysqlについては一般ユーザが利用するリポジトリ(stable)にまだ入っていませんが,その前段階であるtestingリポジトリには入りました。あと2,3週間もすればtestingリポジトリでなく一般ユーザの利用するリポジトリからインストールできるようになる見込みです。そうなり次第,mroongaについても同様にリポジトリの移行を進めていく予定です。

Windows

Windowsについてはサポートがだいぶ強化され,2013年5月にテストリリースした後,7月からは毎月肉の日リリースにWindows版も加えることになりました。

現在MariaDB 10.0.3にmroongaをバンドルしたzipパッケージを提供しています(このzipパッケージではMeCab関連のファイルをバンドルしていないので,MeCabを利用するトークナイザーは利用できません)⁠

従来,MariaDBのソースコードを修正する必要があったため,バンドルしたかたちで提供しています。ただ,最近になって修正が不要になったので,今後はmroongaのみ既存の構成に追加インストールするかたちで提供できれば良いと考えています。

すでにMariaDB 10.0.3をインストール済みの環境でも試したい場合には,上記zipパッケージをダウンロードして,必要なファイルをコピーすると使うことができます。zipを解凍すると次のファイルが含まれていますので,MariaDBのインストール先へとコピーします。必要なファイルは次の通りです。

  • bin/groonga.dll
  • lib/groonga/plugins/normalizers/mysql.dll
  • lib/groonga/plugins/query_expanders/tsv.dll
  • lib/groonga/plugins/suggest/suggest.dll
  • lib/groonga/plugins/table/table.dll
  • lib/plugin/ha_mroonga.dll

コピーが終わったら,スタートメニューから「MySQL Client (MariaDB 10.0 (x64))」を起動し,プラグインのインストールとUDFの登録を行います。

MariaDB > install plugin mroonga soname 'ha_mroonga';

上記を実行すると,show engines;でmroongaがインストールできていることがわかります。

次に,UDFを登録します。UDFの登録には次のクエリを実行します。

MariaDB > create function last_insert_grn_id returns integer soname 'ha_mroonga';
MariaDB > create function mroonga_snippet returns string soname 'ha_mroonga';
MariaDB > create function mroonga_command returns string soname 'ha_mroonga';

まとめ

今回は,様々な環境で提供しているmroongaについて,リリースマネージャの観点からmroongaのパッケージングの動向について紹介しました。

mroongaそのものを知りたいときには,本連載の第3回 すべてのMySQLユーザに高速な全文検索機能を! - mroongaの紹介がおすすめです。そして,では試してみようとなったらインストールガイドを参照してください。実際のインストール手順が詳しく説明されています。

次回予告

次回は事例紹介です。Tritonnからmroongaへの移行ガイド(3)になります。いよいよ移行話も大詰めです。まだ前回までの記事を読んでいない人はそれまでに過去記事をおさらいしておきましょう!

groongaの利用事例を寄稿しませんか

連載の目的は「読者の皆さんがgroongaを使いたくなる!」ことです。そこで,すでにgroongaを使っており,groongaの利用事例を本連載で紹介していただける人を募集します。募集要項を参考にご連絡ください。お待ちしています!

週刊groonga on Qiita

もっとmroongaを知りたくなったらQiitaにあるmroonga情報もチェックしてみてください。毎週木曜日にgroonga関連情報を提供しています。

著者プロフィール

HAYASHI Kentaro (kenhys)

株式会社クリアコード所属。毎月肉の日のgroongaやmroongaのリリースを担当。趣味であれこれSylpheed - 軽快で使いやすいオープンソースのメールソフトのプラグインを開発している。

Twitter:@kenhys