@uri=http://estraier.sourceforge.net/spex-ja.html
@title=Specifications of Estraier Version 1 (Japanese)
@author=Mikio Hirabayashi
@cdate=Wed, 23 Dec 2004 10:18:23 +0900
@mdate=Wed, 18 Aug 2004 23:09:03 +0900
@type=text/html; charset=UTF-8
@lang=ja
@genre=web
@weight=2.0

	全文検索
	Estraier
	基本仕様書
Estraierバージョン１基本仕様書

Copyright (C) 2003-2004 Mikio Hirabayashi
Last Update: Wed, 18 Aug 2004 23:09:03 +0900


Estraierは個人用途向けの全文検索システムである。いわゆる全文検索とは、数多くの文書の中から、特定の語句を含むいくつかの文書を見つけ出すことである。EstraierはWebサイト上の文書を対象とした全文検索システムを実現することを主な目的とする。Googleのような検索システムを個人のサイトやイントラネットで利用できるようにしたものである。Estraierは以下の特長を持つ。

   1. 検索が高速である。
   2. 検索結果が見やすい。
   3. 関連文書検索ができる。
   4. 様々な言語が扱える。
   5. 様々なファイル形式が扱える。
   6. 大量の文書を扱える。
   7. 導入が簡単である。

Estraierは転置インデックスと呼ばれるデータベースを用いて高速な全文検索を実現する。転置インデックスはサイトの管理者がWebサーバの動作するコンピュータの上で作業することによって作成される。ユーザはその際に設置されたCGIスクリプトにWebブラウザを用いてアクセスして検索を行う。ユーザインタフェースは簡単なテンプレートを編集することによってカスタマイズすることができる。全文検索機能を備える簡易Webサーバも提供される。

ユーザがWebページ上の入力フォームに検索フレーズを入力すると、その条件に該当する文書のタイトルやURLのリストが表示される。各文書に含まれるテキストの要約も同時に表示される。要約は、検索語の周辺の文を抽出して生成される。要約に含まれる検索語はハイライトされて表示される。検索結果の各文書は、検索語に対するスコアの降順で並べられる。スコアは文書中に占める検索語の数や割合に基づいて求められる。

Estraierは関連文書検索も実装する。検索結果として得られたある文書と関連する内容の文書のリストを提示する機能である。検索結果は関連度の降順で並べられる。関連度はベクトル空間モデルに基づいて算出される。簡単に言えば、語の出現傾向が似た文書を検索できるということである。さらに、文書クラスタリングもサポートされる。これは、関連度を用いて検索結果の文書を自動的に分類する機能である。

EstraierはUnicode（UCS-2）で文字を表現するので、英語などのヨーロッパの言語だけでなく、日本語などのアジアの言語も扱うことができる。現在のバージョンでは、ヨーロッパの言語と日本語のテキストを実用的な精度で解析することができる。

ローカルファイルシステムにあるファイルからテキストを抽出する機能がEstraierには組み込まれている。サポートするフォーマットはプレーンテキストとHTMLとMIME（電子メールとMHTML）である。それだけでなく、任意の外部コマンドを呼び出すことによって様々なフォーマットのファイルを処理することができる。例えば、`wvWare' を用いてMS-Wordのファイルを処理したり、`pdftotext' を用いてPDFのファイルを処理することができる。

Estraierは10万を越える文書を対象とした転置インデックスを構築することができる。扱える文書数の上限はソフトウェアとしては持たないが、ハードウェアの能力に依存して転置インデックスの構築や更新にかかる時間が決まるので、それに応じて実運用上の制限がかかることになる。一方、検索に要する時間は、転置インデックスの規模に関わらず、ほぼ一定である。登録文書数が10万件程度ならば1秒以下で検索結果が提示できるだろう。

Estraierの導入はとても簡単である。ほとんどの場合、インストール作業は20分以内にできるだろう。転置インデックスを作成するには、コマンドを1回か2回実行するだけでよい。数分から数時間程度待つと転置インデックスができあがる。あとは、設置されたCGIスクリプトにアクセスするだけで、全文検索を楽しむことができる。

EstraierはLinux、Solaris、HP-UX、FreeBSD、NetBSD、OpenBSD、Mac OS XおよびWindows（Cygwin）で利用できる。その他のUNIX系のOSでも利用できる。EstraierはGNU General Public Licenseに基づくフリーソフトウェアである。

