Pe lângă căutarea tradițională pe cuvinte cheie (BM25), Elasticsearch 8+ suportă căutare vectorială (Dense Vector Search) nativă. Prin indexarea embedding-urilor generate de modele LLM (cum ar fi cele de la OpenAI, Cohere sau Hugging Face), Elasticsearch poate înțelege semnificația semantică a întrebărilor utilizatorilor chiar dacă nu folosesc aceleași cuvinte.
Definirea indexului cu câmp dense_vector (HNSW)
PUT /articole_semantic
{
"mappings": {
"properties": {
"titlu": { "type": "text" },
"continut": { "type": "text" },
"embedding": {
"type": "dense_vector",
"dims": 1536,
"index": true,
"similarity": "cosine"
}
}
}
}
Căutare Hibridă (kNN + Text Match cu Reciprocal Rank Fusion)
POST /articole_semantic/_search
{
"retriever": {
"rrf": {
"retrievers": [
{
"standard": {
"query": { "match": { "continut": "arhitectura de retea" } }
}
},
{
"knn": {
"field": "embedding",
"query_vector": [0.012, -0.045, 0.089, ...],
"k": 5,
"num_candidates": 50
}
}
]
}
}
}
Întrebări & Exemple de Cod:
Căutare Vectorială și Semantică în Elasticsearch: dense_vector, kNN și Căutare HibridăAi o nelămurire despre utilizarea comenzii
Căutare Vectorială și Semantică în Elasticsearch: dense_vector, kNN și Căutare Hibridăsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.