日本語全文検索エンジン"Freya" - FAQ.ja -
Full-text Retrieval Engine for Your Archives


Freya FAQ (Frequently Asked Question)
基本
Q1-1. Freyaってどういう意味ですか?
A1-1. 日本語全文検索エンジンです。ODINに使用していた検索エンジンを作り直し,一般向けに手直ししたものです。97年12月末現在,ODINに使われている検索エンジンそのものです。
Q1-2. Freyaってなんですか?
A1-2. 「Full-text Retrieval Engine for Your Archives」の略です。
Q1-3. どこで入手できますか?
A1-3. http://www.ingrid.org/project/freya/ に最新版を用意しています。

機能について
Q2-1. SSE, Namazuとどう違うのですか?
A2-1.

基本的にはよく似ています。が,Freyaの利点としては,

  • 外部の形態素解析・分かち書きプログラム(kakasi,Chasen)に頼らない,比較的近代的な日本語全文検索アルゴリズムを使用している
  • フレーズ検索ができる
  • URL,タイトルなどから検索できる

などがあります。

欠点としては

  • ibwww-perl-5などが必要
  • FDIF形式に変換したりするのが面倒
  • 出現位置を文書中のオフセットまで覚えているため,索引ファイルが大きくなる
  • 圧縮された位置情報の展開などに時間がかかるため,Namazuよりは遅い?
  • 形態素解析を行なわないことによる検索ノイズの増加

などが考えられます。

Q2-2. 文章中のどんな文字列でも検索できますか?
A2-2.

いいえ。たとえば,「ディレクトリ」という文字列が文章中にあっても,「ィレクト」では検索できません。しかし,いわゆる「検索もれ」は実用上困らない程度に少ないはずです。

英文については単語単位で索引づけするため,"english text"から"ish t"を検索するなどはできません。

Q2-3. あいまい検索はできないのですか?
A2-3.

*を使った前方一致以外はできません。将来的には日本語部分のみあいまい検索機能をつけるかもしれませんが,未定です。語義的なあいまい検索はフリーで手に入る日本語シソーラスがあれば対応を検討します。

Q2-4. 日本語以外の言語は扱えますか?
A2-4.

日本語と英語以外は難しいでしょう。プログラムの内部では日本語EUCに依存した部分が多くあります。また,英語文書だけを扱う場合でも形態素辞書(dict/icot.dic)などは作成しておく必要があります。

Q2-5. 速度は高速ですか?
A2-5.

作者は十分高速だと思っていますが,商用の全文検索エンジンと比べると見劣りするかもしれません。Freyaには最新の全文検索アルゴリズム研究の成果はほとんど取り入れられていません。

Q2-6. 索引の作成は高速ですか?
A2-6.

ODIN用のデータを作った際の経験では,50万ページのHTMLファイルを処理するのに,html2fdifに48時間くらい,findexとfmergeに10時間くらいかかりました(Intel Pentium Pro 200MHz, メモリ128MBのPCを使用)。この作業では5000ファイルずつ findex で索引を作り,8索引セットずつfmerge でマージするようにしました。メモリが多く載っているマシンでは src/config.h の MAXBUFFERINGWORDSを増やすことで,findex が多少速くなるはずです。でも,html2fdifで律速ですね。(^^;

小規模なWWWサイト用に索引を作るだけなら,数十分程度で済むでしょうから,cronで毎日索引を作り直すことも可能だと思われます。

Q2-7. HTMLファイルを集めるためにWWWロボットが欲しいのですが。
A2-7.

libwww-perl-5を使った簡易WWWロボットを配付する予定です。が,十分注意して使用するようにしてください。

Q2-8. デフォルトでOR検索になっているが,デフォルトはAND検索にしたいのですが。
A2-8.

現在のところ,そのような設定はできません。明示的に&演算子か+演算子を使う必要があります。


その他
Q3-1. 今後,機能を拡張する予定はありますか?
A3-1.

TODO.htmlに書いている内容のいくつかは実行に移すと思われます。全部は無理です。:-)

Q3-2. UNIXでNetscape Navigatorを使っています。漢字などを含んだ検索式で検索すると,結果表示の際にTEXTフィールドへデフォルト値が設定されるのですが,その際にうっとうしい警告がダイアログで出ます。なんとかなりませんか。
A3-2.

Netscape Communications社に文句をつけてください. といいたいところですが,そうもいきませんね(^^;。作者は ~/.Xdefaults に

Netscape*useStderrDialog:       False
Netscape*useStdoutDialog:       False

と書いて我慢しています。あるいはSolaris2用かIRIX用のNetscape Navigator を使います。:)

←インデックスに戻る

原田昌紀 <harada@ingrid.org>