山川です。 お世話になります。 引き続きの返信とアドバイスをいただきありがとうございます。 教えていただいた方法の実験もしておりましたので 返信が遅くなりました。
> もうご存じかと思いますが、 > 優先されるというほどのものでもなくて、タイトルを表示するという > 仕様で、タイトルが取得できない場合はファイル名を代用している > だけでした。 > > Doccat を使った処理ルーチンは永らくメンテされていませんが、 > (現在の仕様はわかりませんが)その実装当時は、Doccat では本文しか > 取り出せなかったので、タイトルはファイル名を代用していたとか > なのでしょう。 きっと、Doccatを利用されているユーザーさんは少ないのでしょうね。 この情報が今後Doccatを利用する方への参考情報になれば幸いです。 Doccatは最近Office2007・2010にも対応しているそうなので、 時間があれば勉強もかねてDoccatでも出来るかどうかを模索してみようと思います。 > 実際は、ファイル名がタイトルの代わりに出力されるというのは、 > 例外的な場合ということだったわけですが。 > > それはともかく、「検索結果のタイトルにファイルのタイトルを表示しない > ようにする」ということがしたいわけではなくて、 > 「検索結果のタイトルの代わりにファイル名を表示したい」ということなの > ですね。 > それだと話が少々違ってくるので。 はい、その通りでございます。 伝え方が悪く申し訳ありませんでした。 > もしファイル名を表示したいというのなら、フィルタの改造は必要に > なりますが、次のようにするのが良いかと思います。 > > $fileds->{'title'} に gfilter::filename_to_title でファイル名を > 入れているかと思いますが、これとは別のフィールドにファイル名を > いれるようにします。必要とするすべてのフィルタで。 > > 例えば未使用の fname というフィールドを使うならこんな感じ。 > (filename は使用済みなので避けること) > > $fileds->{'fname'} = gfilter::filename_to_title($cfile, $weighted_str); > > mknmzrc の $SEARCH_FIELD に fname を追加して、インデックス > を作成する。 > NMZ.field.fname ができていればまずOK > > インデックスの NMZ.{body, head, foot, result, tips}* を > 適当なディレクトリにコピーして、.namazurc の Template に > そのディレクトリを設定する。 > > そのディレクトリにコピーした NMZ.result.* の中の ${title} と > いうところを ${fname} に書き換える。 > > これで検索すると、タイトルのところにファイル名が表示される > ようになるはずです。(未確認なので、あくまでもたぶんですが) 教えていただいたとおりにやってみました。 ひとまず excel.pl のみですが、最終的に NMZ.field.fname 内に ファイル名が書き込まれ、 NMZ.result.* の ${fname} へ 見事に反映されたところまで確認できました。 ありがとうございます。 フィルタを変更することばかり考えておりましたので、 このような方法を思いつきませんでした。大変助かります。 他の文書もこの調子でやってみようと思います。 > フィールド fname 分、インデックスは大きくなりますが、許容 > 範囲でしょう。 > おまけですが、フィールド検索で、ファイル名検索が可能となります。 > また、新たなフィールド fname を使うので、他のところに影響を > 与えることはありません。 確かに、+fname:XXXX で検索が出来ました。 検索出来る条件がまた一つ増えて便利になります。 よくよく過去ログを見てみたらこの方法が載っており 気付かずにお恥ずかしい限りです。 本当にありがとうございます。 _______________________________________________ Namazu-users-ja mailing list Namazu-users-ja@namazu.org http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-users-ja