Namazu-users-ja(旧)


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

pnamazu-2000.08.30



古川です。

perl 版検索クライアントを

http://www01.tcp-ip.or.jp/~furukawa/pnamazu/

に置きました。

#(1) ! QUERY_STRING が空のときは、NMZ.head.* のデフォルト値を書き換えない
#      ようにした (Thanks to 田辺晶史さん)
#    ! subquery が query を上書きしていたのを修正 (Thanks to 田辺晶史さん)
#(2) + NMZ.result.* に ${summary::size=XX} と書けるようにした
#(3) + user agent が携帯電話のときは、検索文字列を Shift_JIS として
#     扱うようにした

(1)
NMZ.head.* を表示するときには、cgi で、パラメータを書きかえるように
なっているのですが、http://www.xxx.yyy/zzz/namazu.cgi てな具合に、
パラメータ無しで呼び出されたとき ([検索方法] を表示するとき) には、
同様のロジックで、cgi が持っているデフォルト値に書きかえていました。

これは不便なので、パラメータ無しのときは、NMZ.head.* の設定を生かす
ように変更しました。


(2)
これは、実質的には、携帯電話対応です。普通、summary の長さは、1 ファ
イルあたり、200 〜 300 バイトにしている方が多いと思いますが、これは
携帯電話にとっては長すぎるので、サイズを小さくできるようにしました。

サンプルの NMZ.result.phone では、${summary::size=40} という形で
使っています。


(3)
cgi 内部では、検索式について、文字コードの自動判別をしていますが、携
帯電話で検索式を入力する際、いわゆる半角カナ (jis x 0201片仮名) が使
われやすいと思われます。この場合、自動判別は失敗する確率が高くなりま
す。

そこで、user agent が携帯電話のときは、文字コードを Shift_JIS に決め
打ちするようにしました。これで、半角カナで検索式を入力しても大丈夫で
すが、その代わり、他の文字コードで送信する機種では、間違った検索をし
てしまいます。

# 自分の携帯でしか試していないので、そのような機種があったら、どうも
# すみません。

-- 
Rei FURUKAWA 
furukawa@xxxxxxxxxxxx