namazu-ml(avocado)


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

pnamazu-98.11.20



古川です。

perl 版検索クライアントを、別便にて高林さんに送ります。

今回は、先日お知らせした、バグ修正がメインです。

#       '+': 新規仕様
#       '?': 試験的仕様
#       '-': 仕様の削除
#       '*': 本体以外の仕様
#       '!': 修正
# 98.11.20
#   ! and 検索ができないケースがあった                          (1)
#   * nmztxt.pl を使う際、他にも db.pl などを require しなければならなかった
#     のを改め、nmztxt.pl だけ require すればよいようにした。
#   * gcnmz.pl は、本家の src/ に昇格することになった。         (2)
#   * nmztxt.pl を使ったサンプルとして、gcnmz.pl に代わり、
#     要約にキーワードを追加するスクリプト kwnmz.pl を添付      (2)
#   + subquery 対応
#   + 森本@イマジカさんのパッチをもとに、文書の存在するディレクトリ
#     へもリンクできるようにした                                (3)
#   ! 村下@池上通信機さんのパッチをもとに、LANGUAGE 関連の設定を
#     v1.3.0.0 的にした                                         (4)
#   + [1][2]... の前後に [prev] [next] のリンクをつけた         (4)

(1)
バグの詳細については、先日の [namazu:1590] を参照してください。
簡単に言うと、

    「foo and bar」とか「foo & bar」が、実はできていなかった
    (単語の羅列「foo bar」の形式の and 検索は、できていた)


(2)
gcnmz を作る際に、高林さんにいろいろアドバイスをいただきまして、nmztxt.pl
の関数が若干変更になっています。

また、gcnmz が出世して本家の src へ昇格したため、それに代わるサンプル
として、kwnmz.pl というものを添付しました。

これは、単語のヒット数、およびスコアをもとに、関連文書を引き出すのに役
立ちそうなキーワードを、要約に付加するものです。

私の身近な文書で、それらしい結果がでるように調整しているので、他の文書
で効果があるかどうかは不明です。

例えば、

  > % namazu.pl pnamazu .
  > 検索結果:
  > 
  > 参考ヒット数:
  > 
  >  [ pnamazu: 87 ] 
  > 
  > 
  > 検索式にマッチする 87 個の項目が見つかりました。
  > 
  > 1. [namazu:00617] Re: pnamazu-98.05.14 (score: 22)
  > From: Satoru Takabayashi <ccsatoru@xxxxxxxxxxxxxxxxxx>
  > Date: Fri, 15 May 1998 02:32:35 +0900
  > 受け取りました。 <URL:http://saturn.aichi-u.ac.jp/%7Eccsatoru/Namazu/> 
  > にアナウンスしておきました。 面白いですね。さっそく試してみました。 こ
  > れは予想以上に時間がかかりました。 なぜかこの方法は で動きませんでした
  > が、 こちらはうまくいきました。 kakasi -w と比べると % time kakasi -w <
  >  ../doc/pnamazu.ht
  > Keywords: ダウンロード 集計 仕様上 予想以上 アナウンス アクセス 本体 ス
  > クリプト 別便 今回
(以下略)

# うーん。イマイチかなあ。まあ、サンプルということで…


(3)
pconfig.pl というファイルの中の、$SplitLink という変数を真にすると、デ
ィレクトリへもリンクするようになります。このとき、<A HREF...> と </A>
で囲まれた文書は見えなくなってしまいますので、NMZ.f を加工しているかた
は御注意ください。


(4)
これらは、おとといの、

>> On Wed, 18 Nov 1998 11:25:08 +0900, tmu@xxxxxxxxxxxxx (MURASHITA Takuya) said:
  > pnamazu.cgi-98.10.01に、command-lineで使うと
  > 見た目だけnamazu-1.3.0.0 likeになるような手抜きpatchです。

や、

>> On Wed, 18 Nov 1998 18:52:11 +0900, Kenji Suzuki <kenji@xxxxxxxxxxxxxxxx> said:
  > というわけで namazu への要望.
  > namazu.cgi の
  > Page: [1] [2] [3] ...
  > の一番右に [NEXT] をつけて欲しいと思います.

をヒントに、やってみました。

----------------------------------------------------------------------
ところで、perl 版は、次のような方にお勧めします。

[1] プロバイダの制限で、perl 版しか使えない環境の方

もともとのキッカケはこれでした。


[2] C 言語版が使えない OS でも、perl が動けば、使える可能性があります。

私自身、  高林さんと大須でお会いするまでは、98note + MSDOS で 開発して
いました。ファイル名の関係で、field は無理だと思いますが、それ以外は、
ひょっとしたら動くかもしれません。(最近は確認していませんが)

# MacPerl は? さあ。


[3] フレーズ + αの検索をしたい方

どちらも使える状況で、perl 版を使うメリットを、強いて挙げるとすれば、

    { 制御 ( システム | system ) }      フレーズ + or 演算
    { *学部 *学科 }                     フレーズ + 中間/後方一致検索
    { /(バ|ヴァ)イオリン/ 協奏曲 }      フレーズ + 正規表現検索

ということができる、ということくらいしか、私には思いつきません。でも、
必要性は、あまり多くないですねぇ。


[4] ゆっくり検索して、その間にお茶でも飲みたい方
[5] perl 版のデバッグにつきあってやろう、という方


[6] 改造するのに、perl 版の方が便利だ、という方

本当は、これを、一番のメリットにしたいと思っていたのですが…

ドキュメント (pnamazu.html) にも書いたのですが、

 > 改造などしていただくことは構いません
 > というより、改造しやすいように作ろうと思っていたのですが、
 > 結果的には非常に読みにくいスクリプトになってしまいました。
 > すみません。

今後、全体を一から書き直そうかなあ、と思っています。もっと、データ構造
も改良して、読みやすいスクリプトにしてやれば、もっと改造もしやすくなる
のではないかと…

-- 

                                        ヤマハ(株)ピアノプレーヤ設計課
                                                              古川 令
                                             furukawa@xxxxxxxxxxxxxxxx