Vektör arama (AI/embedding)
Oracle
-- Oracle 23ai yerel VECTOR tipi:
CREATE TABLE belge (id NUMBER, icerik CLOB, gomme VECTOR);
-- Benzerlik araması (kosinüs mesafesi):
SELECT id FROM belge
ORDER BY VECTOR_DISTANCE(gomme, :sorgu_vektor, COSINE)
FETCH FIRST 5 ROWS ONLY;Oracle Database 23ai yerel VECTOR veri tipini ve AI Vector Search özelliğini sunar. VECTOR_DISTANCE fonksiyonu COSINE/EUCLIDEAN/DOT metrikleriyle benzerlik hesaplar; yaklaşık arama için HNSW ve IVF vektör index'leri desteklenir. Embedding'ler kurum içinde veya harici modellerle üretilir.
PostgreSQL
-- pgvector eklentisi:
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE belge (id int, gomme vector(1536));
CREATE INDEX ON belge USING hnsw (gomme vector_cosine_ops);
-- En yakın 5 komşu (<-> öklit, <=> kosinüs):
SELECT id FROM belge ORDER BY gomme <=> :sorgu LIMIT 5;pgvector eklentisi PostgreSQL'e vector tipi ve benzerlik operatörleri ekler: <-> (L2/öklit), <=> (kosinüs), <#> (iç çarpım). HNSW veya IVFFlat index'leri yaklaşık en yakın komşu (ANN) aramasını hızlandırır. RAG ve anlamsal arama uygulamalarında yaygın kullanılır.
MySQL
-- MySQL 9.0+ yerel VECTOR tipi:
CREATE TABLE belge (id INT, gomme VECTOR(1536));
-- Kosinüs mesafesi (DISTANCE yalnız HeatWave'de):
SELECT id, DISTANCE(gomme, :sorgu, 'COSINE') AS d
FROM belge ORDER BY d LIMIT 5;MySQL 9.0 yerel VECTOR veri tipini ve STRING_TO_VECTOR/VECTOR_TO_STRING, VECTOR_DIM fonksiyonlarını ekledi (Community'de de vardır). DISTANCE() fonksiyonu ve ölçekli yaklaşık vektör araması ise yalnız Oracle bulutundaki MySQL HeatWave'de vardır; Community/Enterprise'da mesafe uygulamada veya harici vektör deposunda hesaplanır. Kurum içi eski sürümlerde harici vektör deposu gerekir.
SQL Server
-- SQL Server 2025 yerel vector tipi:
CREATE TABLE belge (id INT, gomme VECTOR(1536));
-- Kosinüs mesafesiyle en yakın komşular:
SELECT TOP 5 id,
VECTOR_DISTANCE('cosine', gomme, @sorgu) AS mesafe
FROM dbo.belge ORDER BY mesafe;SQL Server 2025 (ve Azure SQL) yerel vector veri tipini ve VECTOR_DISTANCE fonksiyonunu (cosine/euclidean/dot) sunar; yaklaşık en yakın komşu için DiskANN tabanlı vektör index'leri geliştirilmektedir. Embedding'ler Azure OpenAI gibi harici modellerle üretilip saklanır.
MongoDB
// Atlas Vector Search ($vectorSearch aggregation aşaması):
db.belge.aggregate([
{ $vectorSearch: {
index: "vektor_idx",
path: "gomme",
queryVector: [0.12, 0.87, /* ... */],
numCandidates: 100,
limit: 5
} }
])MongoDB Atlas Vector Search, embedding'leri $vectorSearch aggregation aşamasıyla sorgular; arka planda HNSW tabanlı yaklaşık en yakın komşu araması yapar. Vektör index'i Atlas Search index'i olarak tanımlanır. Bu özellik yönetilen Atlas hizmetine özgüdür (kurum içi topluluk sürümünde yoktur).
Redis
# RediSearch (Redis Stack) VECTOR alan tipi gerektirir.
# HNSW vektör indeksi tanımla:
FT.CREATE belge_idx ON HASH PREFIX 1 belge: SCHEMA
gomme VECTOR HNSW 6 TYPE FLOAT32 DIM 1536 DISTANCE_METRIC COSINE
# KNN araması (sorgu vektörü ile):
FT.SEARCH belge_idx "*=>[KNN 5 @gomme $vec]" PARAMS 2 vec "..."Redis vektör aramayı RediSearch modülü (Redis Stack) ile sağlar; VECTOR alan tipi FLAT (kesin) veya HNSW (yaklaşık) index, COSINE/L2/IP metriklerini destekler. FT.SEARCH içinde KNN söz dizimiyle en yakın komşular getirilir. Düşük gecikmeli anlamsal arama ve RAG için kullanılır.
Elasticsearch
# dense_vector alanı ve kNN araması:
PUT belge
{ "mappings": { "properties": { "gomme":
{ "type": "dense_vector", "dims": 1536, "similarity": "cosine" } } } }
GET belge/_search
{ "knn": { "field": "gomme", "query_vector": [0.12, 0.87],
"k": 5, "num_candidates": 100 } }Elasticsearch dense_vector alan tipi ve yerleşik knn araması ile yaklaşık en yakın komşu (HNSW) sorgularını destekler; similarity cosine/dot_product/l2_norm olabilir. Vektör aramayı klasik metin sorgusuyla birleştirerek (hybrid search / RRF) alaka düzeyini artırmak mümkündür.