転置索引を用いた高速・高精度な全文検索エンジンであり、登録された文書をすぐに検索結果に反映できます。参照をブロックせずに更新できることから、即時更新の必要なアプリケーションにおいても高い性能を発揮します。独自のカラムストアを持つ列指向のデータベースとしての側面も持っています。既存の代表的なデータベースが苦手とする集計クエリを高速に処理できるという特徴があり、組み合わせによって弱点を補うような使い方もできます。呼び出したりすることもできます。そのため、任意のアプリケーションに組み込むことが可能であり、多様な使い方が考えられます。一般的なデータベースにおいては、追加・削除などの操作がすぐに反映されます。全文検索においては、転置索引が逐次更新の難しいデータ構造であることから、文書の追加・削除に対応しないエンジンが少なくありません。文書を短時間で追加・削除することができます。その上、更新しながらでも検索できるという優れた特徴を持っているため、全文検索エンジンとしてはとても柔軟性があります。複数の転置索引を統合するような重い処理を必要としないので、安定して高い性能を発揮することが期待できます。現代は、インターネットを情報源とすれば、いくらでも情報を収集できる時代です。膨大な情報から有益な情報を引き出すのは困難であり、多面的な分析による試行錯誤が必要となります。日付や時間帯により絞り込んでみたり、地域により絞り込んでみたり、性別や年齢により絞り込んでみたりすることでしょう。そのようなときに便利な存在が集計クエリです。集計クエリとは、指定したカラムの値によってレコードをグループ化し、各グループに含まれるレコードの数を求めるクエリです。格納しているカラムを指定すれば、地域毎のレコード数が求まります。日付のカラムを指定したときの出力をグラフ化すれば、レコード数の時間変化を視覚化することができます。地域による絞り込みと日付に対する集計クエリを組み合わせれば、特定の地域におけるレコード数の時間変化を視覚化ことも可能です。このように、尺度を自由に選択して絞り込み・集計できることは、膨大な情報を扱う上でとても重要になります。集計クエリを高速に処理できる理由は、データベースの論理構造にカラムストアを採用しているからです。集計クエリが参照するのは指定されたカラムのみであるため、カラム単位でデータを格納する列指向のデータベースでは、必要なカラムのみを無駄なく読み出せることが利点となります。レコード単位でデータを格納する行指向のデータベースでは、隣接するカラムをまとめて読み出してしまうことが欠点となります。転置索引は大規模な全文検索に用いられる伝統的なデータ構造です。転置索引を用いた全文検索エンジンでは、文書を追加するときに索引語を記録しておき、検索するときはクエリを索引語に分割して出現文書を求めます。そのため、文書やクエリから索引語を抜き出す方法が重要になります。トークナイザは、文字列から索引語を抜き出すモジュールです。抜き出す方式のいずれか、あるいは両方を用いるのが一般的です。形態素方式は検索時間や索引サイズの面で優れているほか、検索結果に不要な文書が含まれにくいという利点を持っています。方式には検索漏れが発生しにくいという利点があり、状況によって適した方式を選択することが望ましいとされています。方式の両方に対応しています。よる分かち書きの結果を用いる形態素方式が有効になります。トークナイザはプラグインとして追加できるため、特徴的なキーワードのみを索引語として採用するなど、独自のトークナイザを開発することが可能です。マルチコア化が進んでいるため、同時に複数のクエリを実行したり、一つのクエリを複数のスレッドで実行したりすることの重要性はますます高まっています。ストレージは、複数のスレッド・プロセスで共有することができます。参照ロックフリーなデータ構造を採用しているため、更新クエリを実行している状況でも参照クエリを実行することができます。参照クエリを実行できる状態を維持しながら更新クエリを実行できるので、リアルタイムなシステムに適しています。サーバを介して参照クエリを実行するなど、多彩な運用が可能となっています。代表される測位システムを搭載した高機能な携帯端末の普及などによって、位置情報を扱うサービスはますます便利になっています。近くにあるレストランを探しているときは、現在地からの距離を基準として検索をおこない、検索結果を地図上に表示してくれるようなサービスが便利です。そのため、位置情報検索を高速に実現できることが重要になっています。転置索引を応用して高速な位置情報検索を実現しています。矩形・円による範囲検索に対応しているほか、基準点の近くを優先的に探索させることができます。距離計算をサポートしているので、位置情報検索の結果を基準点からの距離によって整列することも可能です。ライブラリとして提供されているので、任意のアプリケーションに組み込んで利用することができます。利用するライブラリなどが関連プロジェクトにおいて提供されています。サーバ機能があるため、レンタルサーバなどの新しいライブラリをインストールできない環境においても利用できます。サーバとして利用するときはクエリのキャッシュ機能が有効になるため、同じクエリを受け取ったときは応答時間が短くなるという特徴があります。ストレージエンジンとして利用することもできます。連携させたりすることができます。連携には一長一短があるので、用途に応じて適切な組み合わせを選ぶことが大切です。