ベクトル検索

要件
ログインの有無 True
エンドポイント /v1/search
メソッド GET

概要

意味的に類似したファイルを検索する。抽象的なキーワードでも関連ファイルを発見できる。

「走る人」で検索すると、画像内に走っている人が含まれると思われるファイルが表示される。

検索可能文字列

255文字まで

クエリパラメーター

キー 値の種類 必須 デフォルト 説明
q String True - 検索キーワード(最大255文字)
type String False keyword vector を指定するとベクトル検索、省略またはその他はキーワード検索
page Integer False 1 ページ番号
limit Integer False 50 件数(最大: 100)

レスポンス

キー 値の種類 説明
files Array ファイルオブジェクトの配列(Qdrant スコア順)
total Integer 全件数
page Integer 現在ページ番号
limit Integer 1ページ件数

実装要件

  • クエリを multilingual-e5-small(fastembed-rs)で埋め込みベクトルに変換
  • Qdrant コレクション filesuser_id でフィルターして近傍探索
  • インデックス更新タイミング: ファイルアップロード時(ファイル名)および OCR 完了時(ファイル名 + OCR テキスト)
  • 必要コンポーネント: Qdrant、Apalis + Redis(詳細: ベクトル検索基盤