Apache SolrのSaaSである KandaSearch を使って検索システムを構築する場合は、一般的には、KandaSearchに加えて、次のようなコンポーネントが必要です。
これらは、1つのコンポーネントについて1台のサーバーを用意するという場合があるかもしれません。また、1つのサーバーに複数のコンポーネントを同居させてもよいですし、サーバーレスなクラウドサービスを利用することも考えられます。
なお、検索システムの規模や用途により不要なコンポーネントもあります。
-
データ収集ツール
Webスクレイパーやデータベースコネクタ、カスタムツールを使用して、インターネットやデータベース、共有ファイルサーバーなどからデータを収集します。 -
データクレンジングと正規化
収集したデータを整形し、不要な情報を削除したり分割したりして、構造化データに変換します。 -
インデクシング
KandaSearchのインデクシング機能を利用してインデックスを作成(インデクシング用のApache SolrのAPIをコール)します。 -
データベース
検索対象となる構造化データを保存するためのデータベース(例:MySQL、PostgreSQL、クラウド型RDSなど)。一時的なデータの保管場所として利用します。インデックスのことではありません。 -
バックアップシステム
データの損失を防ぐためのバックアップ機構。 -
認証エージェント
ユーザーの認証および権限管理を行うシステム。 -
フロントエンドユーザーインターフェース
Webアプリケーションの形態をとることが多いです。ユーザーが検索を行い、結果を表示するためのインターフェースを有します。モバイルアプリによる実装も考えられます。 -
ログとモニタリング
検索クエリやシステムイベントを記録するためのログ管理システムと、システムのパフォーマンスや稼働状況を監視するためのツール。 -
スケーラビリティとパフォーマンス最適化
高負荷時にトラフィックを分散させるためのロードバランサーや、検索結果を一時的に保存して、高速にアクセスできるようにするキャッシングシステム。 -
セキュリティ対策
SSL/TLSによる通信の暗号化や、不正アクセスや攻撃からシステムを保護するためのファイアウォールとDDoS対策。 -
テストとデプロイメント
継続的インテグレーションとデプロイメントのためのパイプラインや、システム全体の品質を保つためのテストスイート。
これらのコンポーネントを統合することで、KandaSearchを中心とした強力な検索システムを構築することができます。
KandaSearchは検索システムの中核をなす「検索エンジン」というポジションのサービスです。
https://kandasearch.com/