Groongaの概要
Groonga(グルンガ)とは、オープンソースのカラム指向のデータストア機能の付いた全文検索エンジンです。Groongaは、日本の企業である未来検索ブラジルにより開発され、2012年に開発チームは日本オープンソースソフトウェア大賞奨励賞を受賞しています。
Groongaは、頻繁に更新される掲示板やWikiのような大量のデータを、データの更新を待つことなく検索できるように設計されています。
Groongaは、単体で検索エンジン・ストレージとして使用可能ですが、GroongaをMySQLのストレージエンジンとして使用するMroonga(ムルンガ)も開発されています。Mroongaでは、広く利用されているSQLコマンドを使用してGroongaを利用することが可能です。
また、その他にもRubyとGroongaを組み合わせたRroongaやNode.jsと組み合わせNroongaなども開発がされております。詳細は公式サイトの関連プロジェクトをご参照ください。(http://groonga.org/ja/related-projects.html)
Groongaの主な特徴
- 高速なインデックスの更新
転置インデックスの独自のデータ構造により、高速なインデックス更新を実現しています。
文書の追加・削除処理において、インデックスの更新には時間がかかる検索エンジンもありますが、Groongaは、短い時間でインデックスを更新することが可能です。
- 参照時のロックフリー
更新が頻繁に行われるデータでも、参照クエリを実行できる状態を維持しながら更新クエリを実行できるため、データの更新を待つことなくリアルタイムに検索することが可能です。
- 日本語検索のためのトークナイザー
トークナイザーは、文章からトークン(単語)を切り出します。トークンは検索で使用する単語としてインデックスに登録されます。
Groongaでは、空白などの区切り文字で区切るほかに、N文字ごとに単語を区切るN-Gramと、Mecab(※)を使用した形態素解析により単語を区切る方法を利用することができます。
※Mecabは、工藤拓氏によって開発された形態素解析エンジンです。
- 組み込み可能なライブラリ
Groongaの基本機能は、Cライブラリとして提供されているため、自前のアプリケーションに組み込むことが可能です。
また、MySQL・PostgreSQLといったデータベースと連携することや、ruby・node.JSなどの言語からGroongaを利用するライブラリなどがあります。
- データストア機能
Groongaは、リレーショナルモデルに基づくデータストア機能をもっています。
そのため、Groonga単体でデータストアサーバとしても使用できます。
Groongaの動作環境
Groongaの対応OSは、以下の通りです。
- Windows
- OS X
- Linux(Debian, Ubuntu, CentOS, Fedora)
- UNIX(Solaris) など
Groongaのライセンス形式
Groongaのライセンスは、GNU Lesser General Public License(LGPL)です。
個人・企業を問わず、ライセンス費用はかからず、無償で利用できます。ダウンロード、利用、ソースの改変、配布することもできます。
参考情報
Groongaは、以下のページからダウンロードすることができます。
Groongaのダウンロードページ
Groongaのサポート
NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。