[Namazu-users-ja 59] Re: filter のカスタマイズについて

"西浦 竜一" Nishiura.Ryuichi @ wrc.melco.co.jp
2004年 9月 10日 (金) 18:41:42 JST


西浦です。


いつもお世話になっております。
早速の回答、ありがとうございました。

重ねて質問ですが、

ファイルのタイプとフィルタファイルのリンクについて、
インデックスを作成するためにmknmzを起動した際に、MMagicが起動され、
フィルタが保存されているディレクトリ内のフィルタを一式読み込み、ファイルタイ 
プとフィルタを関係づける。

この際にファイル分類用にadd_magic()サブルーチンを読み込み、設定を行う。
その後、ファイルタイプに応じたフィルタを適用し、
フィルタリングが行い、表示用に引数(title等)を抽出する。
この様な理解で間違いないでしょうか?


また、テキストファイル(040909.txt)のインデックスを作成した場合、
/home/public/040909.txt [text/html]
とインデックス結果が表示されます。

また、テキストファイル内に、<title>タイトル</title>とタイトルを記載したら、
検索結果のタイトルとして採用されており、このテキストファイルはhtmlファイルと 
認識されたようです。

このような場合でも、ファイルヘッダ部分に「paper」とヘッダを記載し、
「$magic->addMagicEntry('0 string 
paper text/html')」に記載しておくことで、対応可能なのでしょうか?
一つのタイプに限定することから、マッチした最初のフィルタを使用すると思うので 
すが、
優先順位はどうなのでしょうか?
(Webで見た情報から書式を勝手に推測しています。
addMagicEntry('何バイト目? string キーワード タイプ')
あっているでしょうか?
あと、html部分が、フィルタファイルの最初にあるpackageのクラス宣言に対応して 
いれば良いと予想したのですが?)


お手数をお掛けして申し訳ありませんが、よろしくお願いします。


#とりあえず、教えて頂いた情報を元に、一度テスト用のフィルタを作成してみます。
今後ともよろしくお願いします。

>臼田です
>
> >
> > <わからないこと>
> > ・テキスト専用のフィルタはどれか?
>プレーンテキスト専用のフィルタはありません。
>各フィルタは各種ファイルから不要な情報を削ってプレーンテキスト化
>するためのものです。
>その際にタイトル、著者等使用できる情報があれば抽出しています。
>Namazuのフィルタの中にもテキストファイルの各種フォーマットを
>扱うものがいくつもあります。
>下記のようなフィルタが該当します。
>html.pl, hnf.pl, hdml.pl, mailnews.pl, man.pl,
>mhonarc.pl, rfc.pl, tex.pl, rtf.pl
>
> > ・ファイルタイプの識別はどうやってやっているのか?
> > 
>  ・たぶん、拡張子で振り分けていると思うのですが、振り分けを行っているプログ
> > ラム?設定ファイル?はどれか?
>ファイルの先頭数バイトのデータ、ファイル内に現れる特有の単語、拡張子
>といったもので判断されます。
>振り分けのための識別条件は各フィルタ内のadd_magic()で宣言することになります。
>各フィルタ内の
>$magic->addMagicEntry
>$magic->addSpecials
>$magic->addFileExts
>に書かれている条件と Namazu の配布物に含まれる tests/data/ja/
>の中のサンプルをエディタで開いて見比べるとだいたいわかります。
>
> > 
> ・フィルタのフォーマットについて、紹介している本、もしくはホームページがあれ
> > ば紹介していただきたい。
>kenjiさんがまとめられた
>http://www.namazu.org/~kenji/dekiru-namazu-filter.html.ja
>がよいでしょう。
>あとは上記のテキスト系のファイルを扱うフィルタを参考にされる
>とよいと思います。
>
>既にファイルのタグフォーマット等が決まっているようでしたら
>メーリングリストに流せば具体的な意見も得られると思います。
>
>臼田幸生




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