2011年7月27日

[Namazu-devel-ja 1880] Re:Unicode の正規化 Re: Re: stable-2-0 に 2.0.21 を反映

寺西です。

(2011/07/27 21:57), Yukio USUDA wrote:
> 検索漏れが生じないようにインデックス作成時と、入力された検索語に
> 対して UNICODE の正規化が必要という話ですが、

それだけじゃないけど、とりあえずこっちの話としては...

> Web で検索した範囲では、 NFC でないことにより問題となる事例は
> Mac OSX からファイルをアップロードするときにファイル名に
> 濁点があると失敗するいうものぐらいしか見つかりませんでした。

身近なところで NFD を使っているのが、Mac OS X のファイル名
だから、これ絡みのトラブルは目立つかと思います。

> HEAD の実装では以下のようにするのでしょうか。
>
> 【インデックスの正規化】
> ・インデックス対象文書は何が入っているかわからないので
>  mknmz では Unicode::Normalize で NFC に正規化する。

Unicode::Normalize と ICU で結果が異なれば、ICU の Perl
モジュールを使うことになります。

> ・インデックス環境が Mac OSX の場合はファイルシステムで NFD もどき
>  が使われているので、この環境のファイル名を扱うときは注意して
>  NFC に正規化する。正規化したファイル名では実体にアクセスでき
>  なくなると思われるので検索表示用と URI 用の両方を保持?

両方は持てないので、データは NFC で持って、
必要に応じて NFD に変換して使う(オプションなりで)ことに
なるでしょうね。
# 当然、それではうまくいかないケースは出てくるでしょうけど。
# 制限事項にするしかないかと思います。
# それでも、今よりはよっぽどマシ。

> 【検索語の正規化】
> ・ICU を使用。

検索語というか、UTF-8 データはすべて。

> 一般的には入力時点では NFC の合成済み文字であると期待したいところですが、、
> やはりそうでないアプリケーションもあるのですかね。

前提にはできないでしょうね。

もちろん、悪意の入力だとなおさら。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E
_______________________________________________
Namazu-devel-ja mailing list
Namazu-devel-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-devel-ja


投稿者 xml-rpc : 2011年7月27日 23:31
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/105226
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。