Senna
出典: フリー百科事典『ウィキペディア(Wikipedia)』
| Senna | |
|---|---|
| 開発元 | (有)未来検索ブラジル |
| 最新版 | 1.1.3 / 2008年6月12日 |
| 対応OS | クロスプラットフォーム |
| 種別 | 全文検索 |
| ライセンス | LGPL |
| 公式サイト | Senna 組み込み型全文検索エンジン |
Senna(せな、Senna: An Embeddable Fulltext Search Engine)は、 未来検索ブラジルによって開発されているオープンソースの全文検索エンジンである。 読みは「せな」であり、「せんな」ではない。 検索速度が高速なことから、「音速の貴公子」と呼ばれたアイルトン・セナにちなんで名づけられた。
目次 |
[編集] 概要
MeCabによる形態素解析の結果を用いた単語ベースのインデックスと、 N-gramによるトークン抽出を用いたインデックスの両方を作成することができる。
ライセンスはLGPLである。
UNIX系OS及びWindowsで動作する。
[編集] 特徴
- 高速なインデックスの更新
一般的に、作成済みの全文検索インデックスに対する新たなレコードの追加は負荷がかかる。Sennaでは更新のためにバッファを設けたり、転置インデックスのデータ構造を工夫して、高速な更新を実現している。
- 高精度な検索
単語ベースのインデックスを作成することにより、 単語境界と一致する文書を優先的に検索する。 よって、適合率の高い検索を行うことができる。 適合率の高い検索とは、ノイズの少ない検索のことを指す。
また、転置インデックスのキーとして、部分一致が可能な単語表を採用している。 よって、単語境界と一致しない文書も検索することができる。 よって、再現率の高い検索を行うことができる。 再現率の高い検索とは、漏れの少ない検索のことを指す。
- 組み込み型ライブラリ
Sennaは単体では機能しない、ライブラリ形式として提供される。
MySQLにパッチを当てることによって、 MySQLの全文検索機能でSennaを利用することが可能となる。 MySQLの全文検索機能は、バージョン5.1までは日本語に対応していないが、 Sennaを利用することによって、高速な日本語検索が可能となる。
PostgreSQLも、Ludiaを利用することにより、 Sennaによる全文検索が可能となる。
[編集] バインディング
RubyでSennaを利用できるRubyバインディングが標準で附属している。
PHPバインディングはメンテナンスされておらず、現在のSennaでは利用できない。現在対応版が開発中であり、Sennaのバージョン1.1から利用可能になるとされている。
[編集] 利用されているアプリケーション
- Ludia : PostgreSQLに保存されたレコードを全文検索することができる。
[編集] 利用されているWebサービス
以下のWebサービスにおいて、Sennaが利用されている。
[編集] 関連項目
- MySQL : Senna、及びTritonnを用いて全文検索を行うことができる。
- PostgreSQL : Ludiaを用いて検索を行うことができる。
- Namazu
- Hyper Estraier
- Lucene

