MySQL/PostgreSQL+Sennaで行うラクラク全文検索……Tritonn&Ludia導入のポイント
Tritonn,Ludia,そしてSennaとは……
昨今のWeb 2.0と呼ばれるようなWebシステムでは,一般的に大量のコンテンツデータを内部に保有しているのではないでしょうか。大量のコンテンツから目的のコンテンツをユーザが選び取る手段の一つとして全文検索が挙げられます。全文検索とは,検索対象コンテンツの中身すべてに対して検索を行うことを指します。たとえば,タグやタイトルを対象にした検索だけでは,目的のコンテンツを発見できないような場合に有効な検索です。
データベースに保持された大量のデータを簡単に全文検索したい,という場合も多いことでしょう。本稿では,それを実現にする全文検索システムとして,次の2つを取り上げて紹介します。
これらはそれぞれ,Tritonnは「MySQL」,Ludiaは「PostgreSQL」という,Webシステムを開発する上で人気の高いDBMSで簡単に全文検索を行えるように改良したシステムです。
さて,TritonnとLudiaは,ともにSennaという全文検索エンジンを内部で利用しています。Sennaは,筆者が所属している(有)未来検索ブラジルを中心に開発されている,オープンソースの全文検索エンジンです。
Sennaは,それ単体で使用することができる全文検索システムです。単体で使用する場合には,SennaQLという問い合わせ言語を使用します。検索プログラムの基礎知識のほか,SennaQLの使用方法をはじめとしたSennaの詳細などは以下で解説していますので,合わせてぜひご参照ください。
- WEB+DB PRESS(Vol.42) 特別企画:[最新版Senna対応]ゼロからはじめる検索プログラミング
以降では,TritonnとLudiaについて,導入方法や使用方法,実用上の留意事項についてまとめて紹介します。
Tritonn
インストール
Tritonnプロジェクトが配布する改変済みMySQLのインストールについて説明します。Tritonnプロジェクトでは,改変済みのMySQLのバイナリ群をRPM形式とtar ball形式の両形式で配布しております。ここでは,RPM形式のパッケージをインストールする方法を説明します。
まず,MySQLのRPMパッケージがすでにインストールされていないかどうかを確認します。Tritonnは改造したMySQLですので,MySQLとパッケージの共存をすることができません。
rpm -qa | grep -i mysql
上記コマンドを実行して,MySQL関連のRPMパッケージ名があった場合には,
rpm -e [削除したいパッケージ名]
にてパッケージを削除してください。
次に,Tritonnが必要とするRPMファイル6つを,Tritonnのバイナリファイル配布サイトからダウンロードします。2007/12/10現在,以下の6つのファイルが必要となります。
- MySQL-client-5.0.45-tritonn.1.0.7.i386.rpm
- MySQL-server-5.0.45-tritonn.1.0.7.i386.rpm
- MySQL-shared-5.0.45-tritonn.1.0.7.i386.rpm
- mecab-0.96-tritonn.1.0.7.i386.rpm
- mecab-ipadic-2.7.0.20070801-tritonn.1.0.7.i386.rpm
- senna-1.0.9-tritonn.1.0.7.i386.rpm
上記ファイル群について,図1のコマンドを順番に発行してインストールを行います。各パッケージには依存関係がありますので,必ず以下の順番でのインストールを行ってください。
図1 パッケージのインストール手順
rpm -i mecab-0.96-tritonn.1.0.7.i386.rpm rpm -i mecab-ipadic-2.7.0.20070801-tritonn.1.0.7.i386.rpm rpm -i senna-1.0.9-tritonn.1.0.7.i386.rpm rpm -i MySQL-shared-5.0.45-tritonn.1.0.7.i386.rpm rpm -i MySQL-client-5.0.45-tritonn.1.0.7.i386.rpm rpm -i MySQL-server-5.0.45-tritonn.1.0.7.i386.rpm
図1の実行で,RPMファイルに署名がない旨のエラーが発生する場合には「--nogpgcheck」というオプションを指定し,署名のチェックを無効化してください。
tar ballパッケージからのインストールや,ソースコードからのインストール方法は,Tritonnプロジェクトのインストール解説ページを参照ください。


