Linux管理をはじめて数年、これまでPleskにお任せして避けてきた自力サーバー管理をはじめることになった。自宅サーバーもやってみたいし。
これまで依存し続けてきたPleskを卒業しようと思ったのは、簡単な日本語全文検索エンジンを作ってみようとしたことがきっかけだ。
全文検索エンジンといっても、GoogleとかYahooみたいなスゴイのを作ろうというわけではなくて、自分が作ったコンテンツの中から検索するだけの目的なのだが、やってみようとするとこれが大変。
とりあえず私がこれまで培ったプログラムの知識だけでは出来そうにないので、フリーで配布されているものを探してみた。
tritonnプロジェクト
これはMySQLから日本語の全文検索をするために、MySQL自体を改造するパッチだ。
そもそもデータベースから日本語を検索する場合は、like検索という便利な機能がある。
select * from table where name like '%キーワード%';
こんな感じで実現できるが、この検索方法だとデータベースのインデックスが働かず、簡単に言うと検索のたびに全てのレコードを捜査することになってしまう。
テーブルが小さいうちはこれでも別にいいのだが、ある程度のボリュームになるとサーバにかかる負担が大きくなるので、この便利なlike検索は避けて通らなければならない。
で、上述のtritonnプロジェクトでサーバへの負担を減らそうと考えた。
とりあえずtritonnプロジェクトを導入するために、事前に2つのプログラムをインストールする必要がある。
形態素解析のmecab
組み込み型全文検索エンジンsenna
mecabは日本語を単語に分割するアプリ、sennaが検索エンジン本体で、tritonnはsennaをMySQLと合体するパッチ、という位置づけ。
それにしてもこういうソフトが無料で配布されているのがすごい。Windowsの仕事が多かった私にとって、本当に毎度スゲー感動する。
とにかく私はmecabとsennaを四苦八苦しながらコンパイルしてインストールしたが、tritonnのコンパイルでコケてしまった。
PleskがMySQLを使用しているため、tritonnのパッチが当たったLMとの入れ替えが出来なかったためだ。可能かもしれないけど、私には出来なかった。
私がPleskを卒業しようと思ったきかっけはこんな感じです。
全文検索エンジンといっても、GoogleとかYahooみたいなスゴイのを作ろうというわけではなくて、自分が作ったコンテンツの中から検索するだけの目的なのだが、やってみようとするとこれが大変。
とりあえず私がこれまで培ったプログラムの知識だけでは出来そうにないので、フリーで配布されているものを探してみた。
tritonnプロジェクト
これはMySQLから日本語の全文検索をするために、MySQL自体を改造するパッチだ。
そもそもデータベースから日本語を検索する場合は、like検索という便利な機能がある。
select * from table where name like '%キーワード%';
こんな感じで実現できるが、この検索方法だとデータベースのインデックスが働かず、簡単に言うと検索のたびに全てのレコードを捜査することになってしまう。
テーブルが小さいうちはこれでも別にいいのだが、ある程度のボリュームになるとサーバにかかる負担が大きくなるので、この便利なlike検索は避けて通らなければならない。
で、上述のtritonnプロジェクトでサーバへの負担を減らそうと考えた。
とりあえずtritonnプロジェクトを導入するために、事前に2つのプログラムをインストールする必要がある。
形態素解析のmecab
組み込み型全文検索エンジンsenna
mecabは日本語を単語に分割するアプリ、sennaが検索エンジン本体で、tritonnはsennaをMySQLと合体するパッチ、という位置づけ。
それにしてもこういうソフトが無料で配布されているのがすごい。Windowsの仕事が多かった私にとって、本当に毎度スゲー感動する。
とにかく私はmecabとsennaを四苦八苦しながらコンパイルしてインストールしたが、tritonnのコンパイルでコケてしまった。
PleskがMySQLを使用しているため、tritonnのパッチが当たったLMとの入れ替えが出来なかったためだ。可能かもしれないけど、私には出来なかった。
私がPleskを卒業しようと思ったきかっけはこんな感じです。
この記事にコメントする