Senna
開発元 | (有)未来検索ブラジル |
---|---|
最新版 | |
対応OS | クロスプラットフォーム |
種別 | 全文検索 |
ライセンス | LGPL |
公式サイト | Senna 組み込み型全文検索エンジン |
テンプレートを表示 |
Senna(せな、Senna: An Embeddable Fulltext Search Engine)は、未来検索ブラジルによって開発されているオープンソースの全文検索エンジンである。検索速度が高速なことから、「音速の貴公子」と呼ばれたアイルトン・セナにちなんで名づけられた。
概要
MeCabによる形態素解析の結果を用いた単語ベースのインデックスと、N-gramによるトークン抽出を用いたインデックスの両方を作成することができる。
ライセンスはLGPL。UNIX系OS及びWindowsで動作する。
バグフィックスを除いた新たな開発は事実上終了しており、開発元の未来検索ブラジルでは、後継となる検索エンジンとして『groonga』(ぐるんが)の開発を進めている。
特徴
- 高速なインデックスの更新
- 高精度な検索
- 単語ベースのインデックスを作成することにより、単語境界と一致する文書を優先的に検索する。よって、適合率の高い検索を行うことができる。適合率の高い検索とは、ノイズの少ない検索のことを指す。
- また、転置インデックスのキーとして、部分一致が可能な単語表を採用している。よって、単語境界と一致しない文書も検索することができる。よって、再現率の高い検索を行うことができる。再現率の高い検索とは、漏れの少ない検索のことを指す。
- 組み込み型ライブラリ
- Sennaは単体では機能しない、ライブラリ形式として提供される。
- MySQLにパッチを当てることによって、MySQLの全文検索機能でSennaを利用することが可能となる。MySQLの全文検索機能は、バージョン5.1までは日本語に対応していないが、Sennaを利用することによって、高速な日本語検索が可能となる。
- PostgreSQLも、Ludiaもしくはtextsearch_sennaを利用することにより、Sennaによる全文検索が可能となる。
バインディング
- Ruby
- Sennaを利用できるRubyバインディングが標準で附属している。
- Perl
- CPAN::Senna
- CPAN::Tie::Senna
- Python
- Pyrost
- PySenna
- Java
- Senna-Java
PHPバインディングはメンテナンスされておらず、現在のSennaでは利用できない。現在対応版が開発中であり、Sennaのバージョン1.1から利用可能になるとされている。
利用されているアプリケーション
- MySQL
- Tritonnを用いて全文検索を行うことができる。
- PostgreSQL
利用されているWebサービス
以下のWebサービスにおいて、Sennaが利用されている。
- GREE
- はてな検索
- タワーレコード商品検索
- 八重山毎日新聞
- freeml
- ○×ソーシャル コトノハ
- iYappo 携帯サイト検索
- MyWiki
- C-BoX
- pixiv
関連項目
参考文献
- オープンソースマガジン 2006年4月号 いざ、次世代検索エンジンへ
- ACM SIGMOD日本支部第35回大会 発表資料
外部リンク
- Senna 組み込み型全文検索エンジン
- 表示
- 編集