[Senna-dev 127] utf8サポート

アーカイブの一覧に戻る

morit****@razil***** morit****@razil*****
2005年 9月 9日 (金) 15:23:15 JST


rev48以降、utf8で正規化の指定(SEN_INDEX_NORMALIZE)が有効になりました。

(従来はSJIS,EUCでのみ正規化機能(大文字/小文字,全角/半角の区別なく検索できる機能)
が有効でした。)

・正規化形式

  utf8でSEN_INDEX_NORMALIZEを指定した場合は、
  Unicode正規化(http://www.unicode.org/unicode/reports/tr15/)で定義される
  NFKC形式に加え、更に以下のように正規化します。

  1) 大文字英文字は小文字に正規化する。(アクセント付き文字も含む)

  2) NFKCによって「スペース+結合文字」に変換される場合は、スペースを除去する。
     ("は゛" → "ば" のような変換が可能になります)

  1)と2)を無効化し、NFKCと正規化処理を一致させるためには、以下の手順でnfkc.cを
  生成しなおしてからmakeして下さい。
  (nfkc.rbの実行には、ruby, ICU が必要です)

  cd util/unicode
  ./nfkc.rb -s -c
  mv nfkc.c ../../lib/

・mecabの設定

  utf8エンコーディングを使用する場合には、mecabの辞書を
  utf8で作成する必要があります。

  ./configure --with-charset=utf8

  (http://chasen.org/~taku/software/mecab/参照)

・MySQL向けの設定

  MySQLバインディングでutf8を使用する場合は、以下のようにして
  デフォルトのエンコーディングをutf8にしておく必要があります。

  echo 'DEFAULT_ENCODING utf8' > /var/senna/senna.conf

以上です。

in boolean mode の問題は今から着手します。すみません。。。→ 立松さん。

--
morita



Senna-dev メーリングリストの案内
アーカイブの一覧に戻る