Senaryo 1
Anlam tabanlı ürün araması
Hybrid retrieval: VECTOR_SEARCH + DiskANN ile cosine yakın 300 aday çekilir, ardından
sorgudaki anahtar terimlerle keyword overlap rerank uygulanır. Pure vector kalitesi 50K
ürün arasında generic terim baskınlığında bozulabilir; hybrid bunu telafi eder. Sağdaki
klasik LIKE sütunu çoğu doğal dil sorgusunda sıfır sonuç verir.
Provider: ollama
bge-m3
1024 dim
Arkada calisan T-SQL 20-vector-search.sql
Bu sayfa hibrit calisiyor: once DiskANN ile cosine yakin adaylar, sonra keyword overlap rerank. Asagidaki betik VECTOR_SEARCH tarafini gosteriyor.
DECLARE @query_text2 NVARCHAR(MAX) = N'rahat ergonomik klavye';
DECLARE @q VECTOR(1536) = AI_GENERATE_EMBEDDINGS(
@query_text2 USE MODEL openai_embed_small
);
-- SQL Server 2025 sözdizimi: TOP_N parametresi VECTOR_SEARCH içinde;
-- (CU4'te yakalandı, CU8 / 17.0.4075.5 üzerinde 2026-09-04'te yeniden ölçüldü,
-- CTE olmadan dış JOIN hâlâ "Invalid column name" veriyor.)
-- VECTOR_SEARCH'ün kolonlarına dış JOIN'den referans için CTE şart.
WITH hits AS (
SELECT * FROM VECTOR_SEARCH(
TABLE = vector.product_embedding,
COLUMN = embedding_openai_1536,
SIMILAR_TO = @q,
METRIC = 'cosine',
TOP_N = 5)
)
SELECT
h.product_id,
p.name,
cat.name AS category,
p.price,
h.distance,
LEFT(p.description_tr, 100) AS preview
FROM hits h
JOIN shop.product p ON p.product_id = h.product_id
JOIN shop.product_category cat ON cat.category_id = p.category_id
ORDER BY h.distance ASC;
GOTam betik: sql/20-vector-search.sql
Örnek
