UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

Tritonn 1.0.9におけるsennaの設定

Tritonn 1.0.9におけるsennaの設定


0.改訂履歴

  • 2008.06.15 新規作成

1.はじめに

 このドキュメントでは,MySQLにて日本語全文検索を利用する為にSennaを利用しやすくしたパッケージを作成しているTritonnプロジェクトで提供されているパッケージで,サーバサイドの設定について説明する.

2.ステータスの確認

  • その他にもいろいろと拡張が行われているので,最新情報は公式サイトを参照する必要がある.
  • Tritonnの拡張の中で,sennaのインデックス情報を確認する機能が拡張されているで,使ってみる.
mysql> show senna status ¥G
*************************** 1. row ***************************
                  Table: senna_test
               Key_name: full_text_index
            Column_name: body
               Encoding: utf8
             Index_type: NGRAM
           Sectionalize: OFF
              Normalize: ON
            Split_alpha: OFF
            Split_digit: OFF
           Split_symbol: OFF
     Initial_n_segments: 512
        Senna_keys_size: 4
   Senna_keys_file_size: 8462336
     Senna_lexicon_size: 45
Senna_lexicon_file_size: 8462336
     Senna_inv_seg_size: 2789376
   Senna_inv_chunk_size: 135168
*************************** 2. row ***************************
                  Table: senna_test2
               Key_name: body
            Column_name: body
               Encoding: utf8
             Index_type: MECAB
           Sectionalize: OFF
              Normalize: ON
            Split_alpha: OFF
            Split_digit: OFF
           Split_symbol: OFF
     Initial_n_segments: 512
        Senna_keys_size: 2
   Senna_keys_file_size: 8462336
     Senna_lexicon_size: 22
Senna_lexicon_file_size: 12656640
     Senna_inv_seg_size: 954368
   Senna_inv_chunk_size: 135168
2 rows in set (0.01 sec)

mysql> 
  • これによって,以下のようなデータが解る.
フィールド名 値の意味するところ
Table FULLTEXTインデックスが張られているテーブル名
Key_name FULLTEXTインデックスの名前
Column_name インデックスの対象のカラム名
Encoding インデックスに使用されている文字コード
Index_type 使用しているインデックスの種類(mecab/ngram/delimited)
Normalize Unicode正規化機能のOn/Off
Split_alpha 現在は特に意味は無し
Split_digit 現在は特に意味は無し
Split_symbol 現在は特に意味は無し
Initial_n_segments インデックスバッファ領域の初期値
Senna_keys_size シンボル表 (.SEN) のレコード数の合計
Senna_keys_file_size シンボル表 (.SEN) のファイルサイズの合計
Senna_lexicon_size 語彙テーブル (.SEN.I) のレコード数の合計
Senna_lexicon_file_size 語彙テーブル (.SEN.I) のファイルサイズの合計
Senna_inv_seg_size 転置テーブルのバッファ (.SEN.i) のファイルサイズ
Senna_inv_chunk_size 転置テーブル (.SEN.i.c) のファイルサイズ

3.デフォルトのインデックスタイプの設定

  • デフォルトのインデックスタイプはN-GRAMとなっている.
  • これを変更するには,2種類あって,サーバ全体で変更するには,次のようにmy.cnfに記述する.
[mysqld]
senna-index-type=mecab
  • また,動的に変更する場合には,set globalにて設定する事ができる.
mysql> SET global senna_index_type=mecab;
  • Globalがついている事からも判る通り,セッションのみ有効では無いので影響範囲について理解しておく.

4.ログの設定

  • setコマンドや,my.cnfにて,senna-logおよびsenna-log-levelを指定する事ができる.
  • senna-logでは,ログファイルの場所を指定する事ができる.
  • また,senna-log-levelでは,以下の表のように出力レベルを設定する事ができる.
ログオプション
設定値 意味 詳細
NONE なし  ログを出さない
EMERG 危険  Sennaを強制終了する必要がある.
ALERT 修復が必要  メモリ割当不可やディスク容量不足等のOSの状態等のエラー.
CRIT 致命的エラー  インデックス破損等.
ERROR 一般的なエラー
WARNING システムからの警告  パラメータ間違い等.
NOTICE システムからの通知  インデックスのオープン,クローズ等.
INFO システム情報  検査クエリや結果等.
DEBUG Sennaの開発者用情報  デバッグ情報.
DUMP 未使用
  • デフォルトでは,NOTICEが設定されている.


広告スペース
Google