データベースはレコードの追加・更新・削除などのトランザクションを管理し、主キーなどで特定のレコードを呼び出すことを得意とします。一方、全文検索が可能な検索エンジンは、転置インデックスを使うことで、すべての文書(レコード)のすべてのフィールド(データベースのテーブルのカラムに相当)を対象に、以下のような多彩で柔軟な検索を高速に実行できます。
- キーワード(単語やフレーズ)の正確な一致やあいまい検索、前方一致や後方一致検索
- AND/OR/NOTなどのブーリアン演算子やカッコを用いた複雑なクエリ式を使った検索
- 同義語の処理
- 絞り込み検索
- 類似度順による検索結果のソート
KandaSearchは、上記のような柔軟で高速なキーワード検索機能の提供に加え、検索対象文書(テキストに限らず、画像・動画・音声データなど、あらゆる文書種別に対応)が持つ「意味」で検索できる、セマンティック検索に対応しています。
しかしながら、検索エンジンはデータベースが提供するような、トランザクション管理は不得手です。したがって、両者の特徴を生かしたアプリケーション構築を行うことが必要です。