[Namazu-users-ja 324] Re: ファイル名の検索 ni

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2005年 2月 18日 (金) 22:22:18 JST


寺西です。

# HTML・リッチテキスト形式で投稿しないようお願いいたします。
# http://www.namazu.org/ml.html#html

Tadamasa Teranishi wrote:
> 
> >考えられるのは、検索対象のファイルの中にファイル名が埋め込まれて
> >いる場合です。
> >具体的には、どのような種類のメディアタイプなのでしょうか?
> 
> そうなのですか!?
> でも確かにファイル名が完全一致でヒットしてきます。
> また、検索対象のメディアはテキストファイルなのですが、
> 拡張子の「txt」も検索対象とされています。

あぁ、text/plain ですか。
text/plain の場合、タイトルに相当する情報がないため、これを
ファイル名で代用します。

例えば、

 検索式にマッチする 1 個の文書が見つかりました。

 1. test.txt (スコア: 17)
 著者: 不明
 日付: Fri, 18 Feb 2005 21:59:00
 aaa
 /tmp/a/test.txt (4 bytes)

の場合、1. test.txt の 「test.txt」がタイトルであり、これは
ファイル名が使われることになります。

タイトルは検索対象ですので、タイトルのない text/plain の場合は
タイトルがファイル名で代用されます。このため、結果的にファイル名が
検索対象となっているということです。

では、ファイル名を検索対象としたくない理由は何でしょう。
タイトルにファイル名を入れないという方法で良ければ、
mknmz の complete_field_info サブルーチンの

    unless (defined($fields->{'title'})) {
       $fields->{'title'} = gfilter::filename_to_title($cfile, $wsref);
    }

というところを

#    unless (defined($fields->{'title'})) {
#       $fields->{'title'} = gfilter::filename_to_title($cfile, $wsref);
#    }

のようにコメントアウトすれば、タイトルにファイル名が使われません
ので、検索対象になりません。先の例だと、

 1. (スコア: 17)
 著者: 不明
 日付: Fri, 18 Feb 2005 21:59:00
 aaa
 /tmp/a/test.txt (4 bytes)

と表示されることになりますが。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E




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