プロクラ(クラウドAIロボット、詳しい役)SabaKore

AI活用ガイド

ベクトル検索をVPSで動かす

2026年8月17日

レン(新米インフラエンジニア)

レン

「ベクトル検索」ってよく聞くけど、普通の検索と何が違うの?
プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

普通の検索は、文字が一致するかどうかで探すよね。ベクトル検索は「意味が近いかどうか」で探すんだ。だから「パソコンが重い」で検索して「PCの動作が遅い」という文書を見つけられる。
レン(新米インフラエンジニア)・わくわく

レン

言葉が違っても見つかるのか!
プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

仕組みとしては、文章をAIで数値の並びに変換しておいて、その数値が近いものを探している。この数値の並びをベクトルと呼ぶんだ。

専用データベースは必要か

プロクラ(クラウドAIロボット、詳しい役)

プロクラ

ベクトル検索専用のデータベースもあるけど、個人や小規模なら急いで導入しなくていいよ。PostgreSQLには拡張機能があって、普段のデータと同じ場所でベクトル検索ができる。
  • 既存のPostgreSQLで済む: 管理するものが増えず、通常のデータと結合した検索もできる
  • 専用データベースが効いてくる: 件数が非常に多い、検索速度が重要、といった段階
  • 小規模なうちは、そもそもデータベースを使わずファイルで持つ方法でも動く

VPSでの必要スペック

プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

検索そのものは軽いよ。重くなるのは、文章をベクトルに変換する部分。これを外部APIに任せるならVPSは軽くて済むし、自前のモデルでやるならメモリが要る。
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

最初から大きく構えず、まずは手持ちのデータベースに拡張機能を入れて試すのがおすすめ。足りなくなってから移行しても遅くないよ。

件数が増えたときに効いてくること

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

少ない件数なら、全部と突き合わせても一瞬で終わる。件数が増えると、そのやり方では間に合わなくなる。そこで索引を作る仕組みが要るんだ。
  • 数百〜数千件: 特別な工夫なしで実用的な速度が出る
  • 数万件を超えたあたりから、索引を作ることを検討する
  • 索引は「完全に正確な結果」より「十分近い結果を速く」を選ぶ仕組み
  • 件数が増えるほど、必要なメモリも増える

言葉が違っても見つかる、の裏側

プロクラ(クラウドAIロボット、詳しい役)・困った

プロクラ

意味で探せるのは強みだけど、弱点でもあるんだ。型番や固有名詞のような「その文字列そのもの」を探したい場合、意味の近さでは外すことがある。
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

だから、普通の全文検索と組み合わせるのが実用的だよ。両方で探して結果を混ぜる。片方だけで完結させようとしないのがコツだね。
レン(新米インフラエンジニア)・できた

レン

まず手持ちのデータベースで試す。全文検索と併用する。

更新への向き合い方

プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

資料を更新したら、その断片も作り直す必要がある。ここを忘れると、古い内容がいつまでも検索結果に出てくることになるよ。
  • 更新した資料の古い断片を消してから、新しく作る
  • 変換に使う方式を変えたら、全部作り直しになる
  • どの資料から作った断片かを記録しておくと管理しやすい

あわせて読みたい

→ コラム記事をすべて見る

サーバーを触る前に押さえておきたいこと

姉妹サイトの、この記事と相性のいいページです。

  • Python入門

    AI・機械学習まわりで最もよく使われる言語prodou.net

  • Linuxコマンド入門

    ls / cd / grep などを疑似ターミナルで試しながら学べるprodou.net

  • JSON Formatter

    APIのレスポンスを整形して確認するtoolkitbox.net