この記事でわかること
- ベクトル検索アプリを支えるデータベースの基本構造
- ベクトルストア作成の流れ
- ベクトル検索の流れ
データベース構造の考え方
ベクトル検索アプリの心臓部は データベース(ベクトルストア) です。
単に文章を保存するだけではなく、検索のために「意味を数値化したベクトル情報」もセットで格納します。
基本のテーブル構成(イメージ)
- ID : 各レコードを一意に識別するキー
- 本文テキスト : 検索対象となる文章(例:仕様検討メモ、調整結果、Q&Aなど)
- ベクトル埋め込み : テキストをAIが数値化した「意味の座標」
- メタデータ : 付随情報(プロジェクト名、作成者、日付、カテゴリなど)
👉 こうすることで、検索時には「意味が近いベクトル」を高速に探しつつ、ユーザーに返す際には本文とメタデータを一緒に提示できます。
ベクトルストア作成の流れ
Excelから読み込み
用意したExcelデータベースから各行の内容を取り込みます。
Excelの構成は1行目に列名、2行目以降にその内容
列名は例えば、1列目カテゴリ、2列目タイトル、3列目本文(検索対象テキスト)といったイメージ
テキストを分割
長文はそのままだと検索効率が落ちるため、適切な粒度で分割(例:200~500文字程度)。
ベクトル化
分割したテキストをAIモデルに通して数値ベクトルに変換。
今回は軽量な「multilingual-e5-small」を利用します。
データベースに格納
ID・テキスト・ベクトル・メタデータをまとめて保存。
ベクトル検索の流れ
ユーザーが検索したときの裏側の流れを整理します。
入力テキストのベクトル化
例:「規格の許容誤差」と検索ワードを入力すると、これもベクトルに変換されます。
類似ベクトル探索
データベース内で「最も近い座標(意味的に近いテキスト)」を探します。
候補の絞り込み
類似度スコアの高い上位(例:上位5件)を取得。
結果を表示
本文テキストとメタデータ(どのプロジェクト、いつ作られたか等)をユーザーに返す。
今後の連載内容
次回以降は、実際のコードや仕組みに踏み込んでいきます。
- 実装編-全体構成-
- 実装編-ベクトルストア作成-
- 実装編-ベクトル検索-
- 実装編-検索GUI-
- 運用編(使い方や管理方法)