[Namazu-win32-users-ja 349] Re: フレームHTMLに検索マッチした場合の表示方法について

Komai @ home GFH05144 @ nifty.ne.jp
2005年 3月 2日 (水) 22:29:45 JST


こまい@家です。

#あくまで自分(=こまい)ならこうするかも。という例でお考え下さい。

oosa7001000399 @ sanyo.co.jp さんは書きました:
>【確認事項】
>Namazu の検索結果ページにて、
>検索式にマッチしたファイルがフレームで構成されるHTMLの場合、
>クリックするとそのままフレームHTMLのみが表示されてしまいます。
>これをメインのHTMLファイルで表示したいのですが、可能でしょうか?
>可能であれば、その方法を教えて下さい。
略

Namazu の基本動作としては、入力された検索語から、単語を取出し、
NMZ.w の中の単語ID 番号を取出し、NMZ.i の中の該当する単語ID に含まれる
文書ID 番号(一般に複数)を取出し、その文書ID に相当する、いろいろな
情報 NMZ.field.ほげ をユーザー側へ提示します。(即ちそれが検索結果です)
(Namazuのファイル仕様:http://www.namazu.org/doc/nmz.html.ja 参照)

C:|/hoge/frame01.htm (フルパス)がヒットしてしまったら、そのフルパスを
リプレースしたファイル http://hogehoge/frame01.htm を表示するのが
Namazu の基本動作ですが、ここで、index.htm を表示したいのですよね?
(という質問の趣旨の理解で合っていますのでしょうか?)

これは、そもそも、Namazuの基本動作から外れるので、基本動作上だけからは
できません。ただ、多少、ファイルをいじるのを厭わなければ、上記原理を活用
すれば、できます。

以下は例です。(自分でそのものずばりやったことがないので、割り引いて考えて下さい。
動作保証はできません。自己責任でやって下さいね)

1)NMZ.filed.uri の中のファイルを 書き換えるようなスクリプトをmknmz が終わった
直後に動作させる。例えば、frame01.htm の部分をindex.htmに書き換える。
(フルパスで考えると良いと思います。)
その後、rfnmz する。
NMZ.t も対応する時刻を変えた方がいいかもしれません。スコア値はどうしよう。。
結構、まじめに考えると大変かも。

2)NMZ.i NMZ.ii ファイルを自力で書き換えるプログラムを書く。
つまり文書ID(frame01.htm)を文書ID(index.htm)に書き換える。(相当面倒です)

等が考えられるかも。

簡単なところでは、1)でしょうか?2)は、そもそも普通の人ならヤル気が起きなさそうです。

#もっと良いアイディアもあるかもしれませんが。
(自分はついつい力づくでやってしまうので。。)


=kp@stellar=





Namazu-win32-users-ja メーリングリストの案内