はじめに
この文章は、Groongaドキュメント読書会2で学んだ事のメモです。
元のテキストで分からなかった事を中心に書きました。
が、ついて行くのに精一杯だったので、書き漏れがあるかもしれません。。。
2.インストール
テキスト: http://groonga.org/ja/docs/install.html
2.3.1. wheezy
- Muninプラグインは、ディスク使用量やCPU使用量、スループットなど、8種類のメトリクスを監視可能。
2.4.1. PPA(Personal Package Archive)
ノーマライザとは
- アルファベットの大文字小文字の違いなどを吸収することを正規化と言う。
- ノーマライザは、正規化を行ってくれるモジュール。
- インストールして有効化しないと使えない。
2.5.1. CentOS 5
- ipadicの読み方は「あいぴーえー・でぃく」、jumandicは「じゅまん・でぃく」が一般的。
2.5.2 CentOS 6
- Cent6.5 x64環境で試したところ、groonga-tokenizer-mecabをインストールすると、mecab-ipadicもインストールされた。
2.6 Fedora
- groonga-normalizer-mysqlは既にFedora公式のyumリポジトリに追加済み。
2.8. その他
- zlibとLZOはメモリリークの元になっているので、今は使わない方がよい。
- ここで紹介されているライブラリは、各プラットフォームのパッケージには基本的に入っている。
- groonga-tokenizer-mecab等のように別途インストールするパッケージもの以外。
サジェスト機能とは
- googleの「もしかして:」機能のようなもの。
- リアルタイムにユーザーの入力を学習していくことも可能。
- しかし、あまり使われていない。
- イベント等でスパイクするような検索ワードは、そのイベント後は意味がなかったりするため。
- ふさわしくないキーワードを学習されたりする可能性があるため。
- サジェスト機能は通信量が非常に増えるため、libeventやZeroMQといったライブラリが使われる。
- Proxy的に作用し、Groongaへ直接アクセスされる通信量を制禦するイメージ。
2.8.2.1.5. --with-match-escalation-threshold=NUMBER
- マッチ演算エスカレーションとは、検索でヒットしなかった時にゆるく検索しなおす機能。
- この設定値は検索結果が何件以下の場合にエスカレーションするかを設定する。
- 検索の緩め方は、全文一致から、前方一致に変えるなど。その内出てくる。
4.1. チュートリアル - 基本的な操作
テキスト: http://groonga.org/ja/docs/tutorial/introduction.html
4.1.10. 全文検索用の語彙表の作成
- パトリシア木の読み方は「ーき」。
- KEY_NORMALIZEフラグは現在は非推奨。代わりにNORMALIZERを指定する。
4.1.12. 全文検索
- 語彙表やインデックスを明示的に指定しなくても、作成されていれば自動的に全文検索時に参照される。
- ただ、1カラムに複数インデックスを貼れるので、そのような場合には、どのインデックスを使うかを指定したりする事も可能。
- 例えば、違うトークナイザでインデックスを作成して、それらに重み付けをした検索を行いたい場合など。
後で試す/確認するリスト
- 語彙表とインデックスの使われ方が直感的に理解できなかったので、色々試してみる。
- 語彙表をselectしようとするとどうなるのか。
- 1つの語彙表に複数のテーブルのインデックスを追加していいのか。
- Munin連携は試してみたい。