メインコンテンツへ移動
JA
ホーム / 技術ブログ / 再構築できる検索基盤を設計する
2026年5月07日 · Z-SOFT Admin · 読了目安 5 分

再構築できる検索基盤を設計する

再構築可能で、テナントを分離し、無停止で切り替えられる検索インデックスを設計します。

記事一覧へ戻る

要点: 検索インデックスは高速な読み取り用モデルであり、正のデータから再構築できなければなりません。

この記事の用語: インデックス:検索用データ構造。Reindex:インデックス全体を再構築すること。検索適合度:検索結果の適合度。

現場の課題

書き込み処理の中でインデックスを更新すると利用者を待たせ、失敗時には変更を失います。共有インデックスには越境リスクがあり、構造変更時には検索を止めずに新版へ移す仕組みが必要です。

検索インデックスは再構築可能な読み取りモデルであり、正のデータではありません。ドキュメントにテナントと元データのバージョンを持たせ、新インデックスを並行構築してエイリアスで切り替えます。

設計と実装

  1. 確定済み変更をOutboxまたはCDCで取得し、利用者向けトランザクション内でインデックス更新しません。
  2. 各ドキュメントへサーバー管理のテナントIDと元データのバージョンを持たせます。
  3. 新インデックスを並行構築・検証し、エイリアスを原子的に切り替えます。

実装例

create index products_v3(mapping_v3)
bulk index snapshot with sourceVersion
consume changes after snapshot watermark
compare counts, samples and query set
atomic alias products_read: v2 -> v3

本番導入の進め方

既存インデックスへ永続イベントとドキュメント バージョンを追加します。代表クエリで新版を比較し、少数テナントをエイリアス経由で切り替えてから全体へ広げます。

まとめ

信頼できる検索は、再構築可能なデータ、明示したデータの新しさ、実クエリで測る検索適合度を持ちます。

Z-SOFTとの協業

今日のテクノロジーに関する一つひとつの判断が、その後の何年にも影響を与えます。

現状を評価し、目標を明確にし、企業の成長方針に合ったアーキテクチャを選定するために、Z-SOFTのチームにご相談ください。

相談を予約する