【ベクトル検索アプリ開発②】設計編

この記事でわかること

  • ベクトル検索アプリを支えるデータベースの基本構造
  • ベクトルストア作成の流れ
  • ベクトル検索の流れ

データベース構造の考え方

ベクトル検索アプリの心臓部は データベース(ベクトルストア です。
単に文章を保存するだけではなく、検索のために「意味を数値化したベクトル情報」もセットで格納します。

基本のテーブル構成(イメージ)

  • ID : 各レコードを一意に識別するキー
  • 本文テキスト : 検索対象となる文章(例:仕様検討メモ、調整結果、Q&Aなど)
  • ベクトル埋め込み : テキストをAIが数値化した「意味の座標」
  • メタデータ : 付随情報(プロジェクト名、作成者、日付、カテゴリなど)

👉 こうすることで、検索時には「意味が近いベクトル」を高速に探しつつ、ユーザーに返す際には本文とメタデータを一緒に提示できます。

ベクトルストア作成の流れ

Excelから読み込み

用意したExcelデータベースから各行の内容を取り込みます。
Excelの構成は1行目に列名、2行目以降にその内容
列名は例えば、1列目カテゴリ、2列目タイトル、3列目本文(検索対象テキスト)といったイメージ

テキストを分割

長文はそのままだと検索効率が落ちるため、適切な粒度で分割(例:200~500文字程度)。

ベクトル化

分割したテキストをAIモデルに通して数値ベクトルに変換。
今回は軽量な「multilingual-e5-small」を利用します。

データベースに格納

ID・テキスト・ベクトル・メタデータをまとめて保存。

ベクトル検索の流れ

ユーザーが検索したときの裏側の流れを整理します。

入力テキストのベクトル化

例:「規格の許容誤差」と検索ワードを入力すると、これもベクトルに変換されます。

類似ベクトル探索

データベース内で「最も近い座標(意味的に近いテキスト)」を探します。

候補の絞り込み

類似度スコアの高い上位(例:上位5件)を取得。

結果を表示

本文テキストとメタデータ(どのプロジェクト、いつ作られたか等)をユーザーに返す。

今後の連載内容

次回以降は、実際のコードや仕組みに踏み込んでいきます。

  • 実装編-全体構成-
  • 実装編-ベクトルストア作成-
  • 実装編-ベクトル検索-
  • 実装編-検索GUI-
  • 運用編(使い方や管理方法)