namazu-ml(avocado)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

field specified search



高林です

ずーっと以前からそのうち実装すると言いながら未だに手をつけていない
フィールド指定の検索についての話です。

Namazu の用途としては Mail/News の検索システムとして使われることが
多いと思います。ですので、Subject: From: Message-id: などのフィー
ルド指定の検索ができると便利だと考えられます。

実装としては NMZ.i にフィールド情報を含ませることによって実現すれ
ば簡単です。現在のところ、 NMZ.i にスコアを 32bit (int型) で保存し
ていますが、これを 16bitに削減して残りの 16bitにフィールド情報を記
録させます。たとえば

     bit 0 -> Subject: # Title: (<TITLE> 〜 </TITLE>) も同じ
     bit 1 -> From:    # Author: も同じ
     bit 2 -> To:
     bit 3 -> Message-Id:
     bit 4 -> Newsgroups:
     bit 5 -> URL:
     bit 6 -> Key:     # Metaで指定されるキーワードなど?
     bit 7 -> 未定
     bit 8-15 -> (reserved) # 拡張性ないなあ…

で、検索式では

% namazu 'from:ccsatoru and subject:siluroidea'

のように指定すると差出人が ccsatoru でサブジェクトに "siluroidea"
という単語が含まれる文書が検索される仕組みです。フレイズの方はちょっ
と難しいので妥協せざるを得ないと思います。

…というわけですが、上に挙げたフィールド以外に必要なものがあったら
教えてください。その他何か意見があればおねがいします。

# 予定では今週中に動くものを作ります

-- Satoru Takabayashi