namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 pnamazu-98.08.31 (Re: Distributed Namazu)
- From: Rei FURUKAWA <furukawa@xxxxxxxxxxxxxxxx>
 
- Date: Mon, 31 Aug 1998 13:44:29 +0900
 
- X-ml-name: namazu
 
- X-mail-count: 01054
 
古川です。引用前後しますが…
>> On Thu, 20 Aug 1998 10:19:20 +0900, Kenji Suzuki <kenji@xxxxxxxxxxxxxxxx> said:
  > せっかくサーチ・エンジンそのものをつくってるんですから,単
  > なる meta search ではできないことをした方が面白いと思います.
私も同感です。単に併記するだけなんて、寂しすぎます。
ただ、
  > いいんじゃないでしょうか,下位互換よりスマートな実装の方が.
私にとっては、「下位互換」と「スマートな実装」とは、比較するようなもの
ではなくて、
    namazu 間の通信により、スマートな実装
をするのと同時に、
    聞きに行った相手が、既存の namazu だった場合にも、それなりの処理
をしてあげたい、という気持ちがあるものですから、少し考えてみよう、と思
うのです。
というわけで、「スマートな実装」に否定的な気持ちは、全くありませんです。
で、考えても、いいアイディアが浮かばないので、結局「併記」になっている
のですが、それは引き続き考えることにして、
perl 版の検索クライアントを別便にて高林さんに送ります。
#       '+': 新規仕様
#       '?': 試験的仕様
#       '-': 仕様の削除
#       '*': 本体以外の仕様
#       '!': 修正
# 98.08.31
#   + NMZ.w を使っても、後方/中間一致検索ができるようになった   (1)
#   ? dbname=http:// とすると、他の host へ検索結果を聞きに行くようにした
                                                                (2)
(1) 今までは、
        正規表現検索      ... NMZ.w でも NMZ.(m|s)i? でも OK
        後方/中間一致検索 ... NMZ.(m|s)i? じゃなきゃダメ
だったのですが、NMZ.w でも後方/中間一致検索ができるようにしました。
これで、NMZ.(m|s)i? が無くてもひととおりのことができるようになりました。
が、
        正規表現検索      ... NMZ.w の方が速い
        後方/中間一致検索 ... NMZ.(m|s)i? の方が速い
ので、両方あるときは、速い方を優先して使うようになっています。
(2) データベースの名前として、http:// で始まるものを使うと、そこへ検索
結果を聞きに行くようにしてみました。
例えば、QUERY_STRING に
        dbname=hogehoge&dbname=http://www.xxx.yyy/zzz/namazu.cgi
と書いてあると、自分のところの hogehoge を探すと共に、www.xxx.yyy にア
クセスし、その結果を併記します。その際、dbname 以外のパラメータは、そ
のままリモートに渡します。
この機能は、セキュリティ上の問題があるので、初期状態では無効にしてあり
ます。
        もし、外部には公開していない (が、cgi を動かしているマシンから
        は見える) 検索サーバがあり、その url を知られてしまった場合、そ
        の url を dbname に書かれてしまうと、公開していない情報が外に出
        てしまうことになります。
機能を有効にするには、pconfig.pl の中の $RemoteEnable を 1 にして下さい。
また、@DbEnable および %DbAlias というものを用意しました。@DbEnable に
は有効な dbname のリスト、%DbAlias には別名が定義できます。
例えば、hogehoge および、http://www.xxx.yyy/zzz/namazu.cgi だけが検
索対象で、他のマシンへアクセスさせたくない、また、リモートの url を
隠したい、という場合には、pconfig.pl に
        %DbAlias = ('foo' => 'http://www.xxx.yyy/zzz/namazu.cgi');
        @DbEnable = ('hogehoge', 'foo');
と書き、QUERY_STRING にて
        dbname=hogehoge&dbname=foo
としてください。
-- 
                                        ヤマハ(株)ピアノプレーヤ設計課
                                                              古川 令
                                             furukawa@xxxxxxxxxxxxxxxx