[Namazu-users-ja 1267] Re: Namazu検索結果のタイトルにファイルのタイトルを表示しないようにする

inquire @ software.sanix.jp inquire @ software.sanix.jp
2013年 5月 30日 (木) 19:23:15 JST


山川です。
お世話になります。

引き続きの返信とアドバイスをいただきありがとうございます。
教えていただいた方法の実験もしておりましたので
返信が遅くなりました。


> もうご存じかと思いますが、
> 優先されるというほどのものでもなくて、タイトルを表示するという
> 仕様で、タイトルが取得できない場合はファイル名を代用している
> だけでした。
>
> 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 メーリングリストの案内