ベクトル変換が定義されたテキストデータに対しては、テキストの意味検索機能を使って意味的に類似するテキストを検索できます。テキストの意味検索にはSQL関数であるpgx_vectorizer. pgx_similarity_search関数を使用します。
distance列の値は引数に指定したテキストとチャンクの距離を表しており、距離の値が小さいほどそのテキストとの類似度が高いことを意味します。
例) テキストの意味検索の例
SELECT * FROM pgx_vectorizer.pgx_similarity_search('sample_embeddings'::regclass, 'text for search', 5, '<=>'); embedding_uuid | chunk | distance ------------------------------------------------+---------------------------+---------------------------- 89A-927B-4271-82A3-6A73E8962B1C | Action items assigned. | 0.1027381927364 8E73B5F2-461A-4622-89A9-C1D364F4E19B | Next steps discussed. | 0.2938471928374 5D39A6E1-B226-4197-9F03-A78B80A509C2 | Timeline adjusted. | 0.5183749128735 2F97C1E5-6E8A-400F-8692-177D77740B6A | Budget approved. | 0.7815239187521 A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11 | Status update. | 0.9274618273645 (5 rows)
参考
pgx_vectorizer.pgx_similarity_search関数には、意味検索のために行われるベクトル類似検索で使用する距離の種類を指定します。この指定がベクトルデータに対するインデックス定義時の距離と異なっていると、検索時にインデックスが使用されません。