Groonga情報
Groongaとは
Groonga(グルンガ)とは、オープンソースのカラム指向のデータストア機能の付いた全文検索エンジンです。Groongaは、日本の企業である未来検索ブラジルにより開発され、2012年に開発チームは日本オープンソースソフトウェア大賞奨励賞を受賞しています。
Groongaは、頻繁に更新される掲示板やWikiのような大量のデータを、データの更新を待つことなく検索できるように設計されています。
Groongaは、単体で検索エンジン・ストレージとして使用可能ですが、GroongaをMySQLのストレージエンジンとして使用するMroonga(ムルンガ)も開発されています。Mroongaでは、広く利用されているSQLコマンドを使用してGroongaを利用することが可能です。
また、その他にもRubyとGroongaを組み合わせたRroongaやNode.jsと組み合わせたNroonga、インデックスとしてGroongaを使用するPostgreSQLの拡張機能のPGroonga、分散型検索エンジンであるDroongaなども開発されています。詳細は公式サイトの関連プロジェクトをご参照ください。
主な特徴
高速なインデックスの更新
転置インデックスの独自のデータ構造により、高速なインデックス更新を実現しています。
文書の追加・削除処理において、インデックスの更新には時間がかかる検索エンジンもありますが、Groongaは、短い時間でインデックスを更新することが可能です。
参照時のロックフリー
更新が頻繁に行われるデータでも、参照クエリを実行できる状態を維持しながら更新クエリを実行できるため、データの更新を待つことなくリアルタイムに検索することが可能です。
日本語検索のためのトークナイザー
トークナイザーは、文章からトークン(単語)を切り出します。トークンは検索で使用する単語としてインデックスに登録されます。
Groongaでは、空白などの区切り文字で区切るほかに、N文字ごとに単語を区切るN-Gramと、Mecab(※)を使用した形態素解析により単語を区切る方法を利用することが可能です。
※Mecabは、工藤拓氏によって開発された形態素解析エンジンです。
組み込み可能なライブラリ
Groongaの基本機能は、Cライブラリとして提供されているため、自前のアプリケーションに組み込むことが可能です。
また、MySQL・PostgreSQLといったデータベースと連携することや、ruby・node.JSなどの言語からGroongaを利用するライブラリなどがあります。
データストア機能
Groongaは、リレーショナルモデルに基づくデータストア機能をもっています。
そのため、Groonga単体でデータストアサーバとしても使用可能です。
動作環境
Groongaの対応OSは、以下の環境で動作します。
- Windows
- macOS
- Linux(Debian, Ubuntu, CentOS, AlmaLinux, Amazon Linux)
- Docker
- その他のUNIX系の環境にはソースからインストール可能です
Groongaのライセンス
Groongaのライセンスは、GNU Lesser General Public License(LGPL)です。
個人・企業を問わず、ライセンス費用はかからず、無償で利用できます。ダウンロード、利用、ソースの改変、配布することもできます。
参考情報
Groongaは、以下のページからダウンロードすることができます。
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
サポート対象
Elasticsearch
エラスティックサーチ。Elastic社が開発するオープンソースの全文検索エンジンです。
-
サポート対象
Apache Solr
アパッチソーラー。さまざまな検索機能と世界的導入実績を持つ全文検索エンジンです。
-
サポート対象
Apache ManifoldCF
アパッチマニフォールドシーエフ。アクセス権限をふまえた検索インデックスを作成できるOSSのクローラです。