Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Namazu関数で英数字を含む単語は検索できません。



寺西です。

seijun86@xxxxxxxxxxx wrote:
> 
> > 簡単そうなのは "PAC3" なので、これに絞って考えると、まずは
> > PHP から "PAC3" で検索してみればどうなるでしょうか?
> > また、NMZ.w に "PAC3" が入っているかも確認してください。
> >
> > わかち書きには kakasi と chasen のどちらを使っているでしょうか?
> kakasiを使っています。全角英数字を半角英数字にして検索しましたら、検索できまし
> た。それで、PHP側にmb_convert_kana($keyword, "a", "EUC")を入れて、キーワードの
> 全角英数字を半角英数字に変換してから検索するようにしました。

なるほど。

> さて、どうして全角英数字では検索できないのでしょうか。

Namazu では、全角英数字と半角英数字を同一として扱うために、
全角英数字を半角英数字に変換した上で、インデックスを作成します。

そして、検索文字列を namazu.cgi や namazu に渡した場合、全角英数字を
半角英数字に変換した上で、検索を行います。

正確には PHP の namazu をきちんと調べてみないとはっきりしたことは
いえないので、あくまでも想像ですが...。

PHP の namazu が namazu のどのルーチンを呼び出しているのかわかりま
せんが、検索文字列の全角英数字を半角英数時に変換するルーチンを通さず
直接検索ルーチンを呼び出しているのではないかと想像します。

また、フレーズ検索や正規表現の検索ができないようでしたら、ワード検索
のルーチンを呼び出しているのではないかと思います。
(こっちは特に自信なし。)
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E