[netatalk-ja:0068] Re: Spotlightと日本語
HAT
hat @ fa2.so-net.ne.jp
2013年 3月 22日 (金) 00:03:21 JST
HATです。
> 本家のほうで、Spotlightネタが盛り上がっています。
>
> http://netatalk.sourceforge.net/wiki/index.php/Spotlight_Technology_Preview
> http://hatx.blog.so-net.ne.jp/netatalk_search
私のページで書いているのは、
FPCatSearchExtを使う場合、文字列の比較を行うのはnetatalkなので、
netatalk内に曖昧検索のテーブルが必要である。
ということです。
このページを書いた段階では、NFKDのテーブルを用意すればいいだろうと
考えていました。ある程度ソースも書きました。
しかし、その後調査したところ、NFKDだけでは足りないという事実が判明しました。
OS Xでローカルボリュームの検索を試したところ、
ドイツ語のエスツェット「ß」と「ss」と同一視する実装になっています。
しかし、NFKDのテーブルにはこのルールがありません。
別の大文字/小文字変換のテーブルが必要です。
> あたりをみますと、Spotlightを使うためにTrackerやlibtracker-sparql
> というのが使われているようです。
> https://live.gnome.org/Tracker/
> 日本語を使う場合、これ(libtracker-sparql)を日本語対応(NFKD対応)させる必要があるということなんですかね?
Trackerのドキュメントをよく読むと、曖昧検索ができるとかかれています。
上記「ß」と「ss」を同一視するともかかれています。
つまり、Tracker内にテーブルを含んでいるので、netatalkはTrackerに
文字列を丸投げするだけで、曖昧検索ができると思います。(未確認)
netatalk側にテーブルは必要ないと思います。
で、Trackerのソースを読んで、テーブルがどこにあるか探しましたが、
見つかりませんでした。
たぶんGNOME本体のどこかにテーブルがあるのだと思います。
まだ発見してませんが。
別件ですが、「Netatalkで日本語を使う」という概念は捨ててください。
間違っています。「NetatalkでUnicodeを使う」と考えてください。
日本語のことを考えなければいけないのは、OS9以前のユーザだけです。
--
HAT
Netatalk-ja メーリングリストの案内