Exacte Dichtstbijzijnde Buren (ENN) Vectorzoektocht voor precieze gegevensophaling

Met Exact Nearest Neighbor (ENN) Vector Search wordt een volledige afstandsberekening uitgevoerd voor alle geïndexeerde vectoren om het ophalen van de dichtstbijzijnde buren te garanderen op basis van een opgegeven afstandsmetriek. ENN wordt zonder extra kosten ondersteund op alle clusterlagen en vereist geen registratie.

ENN Vector Search voert een uitgebreide vergelijking uit tussen de queryvector en elke vector in de gegevensset. Deze aanpak zorgt voor het volgende:

  • Gegarandeerde nauwkeurigheid: haalt de werkelijke dichtstbijzijnde buren op volgens de gekozen afstandsmeting (bijvoorbeeld Euclidische afstand, cosinus-gelijkenis).
  • Verhoogde rekenlast: Vanwege de uitputtende aard is ENN meer resource-intensief en kan dit resulteren in langere querytijden, met name bij grote gegevenssets.

Omgekeerd maakt het Approximate Nearest Neighbor (ANN) zoeken gebruik van indexeringstechnieken zoals Hierarchical Navigable Small World (HNSW), Inverted File (IVF), of DiskANN om zoekmethoden te versnellen. Hoewel ANN snellere reactietijden en betere schaalbaarheid biedt, worden de absoluut dichtstbijzijnde buren mogelijk niet altijd geretourneerd.

Overweeg het gebruik van ENN Vector Search in de volgende scenario's:

  • Vereisten voor hoge nauwkeurigheid: Voor toepassingen waarbij nauwkeurige top-k resultaten essentieel zijn, zoals gevoelige aanbevelingssystemen of wetenschappelijk onderzoek, zorgt ENN voor maximale nauwkeurigheid.
  • Beheerbare gegevenssetgrootte: bij het omgaan met kleinere gegevenssets of wanneer prestatiebeperkingen minder streng zijn, is de volledige aard van ENN haalbaar.
  • Lage selectiviteitsfiltering: als u filters toepast die resulteren in een relatief kleine subset van gegevens, kan ENN op efficiënte wijze uitgebreide vergelijkingen uitvoeren binnen deze subset.

Bijvoorbeeld: In een grote gegevensset met miljoenen documenten die zijn gecategoriseerd door tenants, kan het uitvoeren van een vectorzoekopdracht binnen een specifieke tenant (bestaande uit enkele duizend vectoren) effectief worden verwerkt door ENN.

Voordat u ENN Vector Search gebruikt, moet u ervoor zorgen dat er een vectorindex (bijvoorbeeld IVF, HNSW, DiskANN) wordt gemaakt voor het relevante pad. Als er al een vectorindex bestaat, hoeft u deze niet opnieuw te bouwen bij het schakelen tussen zoekmethoden, omdat ENN onafhankelijk van deze indexen werkt tijdens het uitvoeren van query's.

Als u ENN wilt inschakelen, stelt u "exact": true in uw query in. Voorbeeld:

{
  "$search": {
    "cosmosSearch": {
      "path": "myVectorField",
      "exact": true,               // Enables ENN
      "query": [0.2, 0.4, 0.9],    // Query vector
      "k": 10,                     // Number of results to return
      "filter": {
        "tenant_id": { "$eq": "tenant123" }
      }
    }
  }
}

ENN Vector Search combineren met filters

ENN Vector Search kan worden gecombineerd met kenmerk- of georuimtelijke filters om het bereik van de zoekopdracht te beperken tot een specifieke subset van gegevens. Nadat het filter is toegepast, voert de zoekmachine volledige afstandsberekeningen uit op de gefilterde subset, waardoor de dichtstbijzijnde bovenliggende buren worden geretourneerd die voldoen aan de filtercriteria.

Gebruiksscenario

Een client onderhoudt een verzameling van ongeveer 300.000 documenten, elk met een vectorveld, een tenant_id veld (dat duizenden tenants vertegenwoordigt) en andere kenmerken. Ze merkten dat ANN vector zoekopdrachten met een tenant_id filter traag waren.

Door over te schakelen naar ENN Vector Search terwijl hetzelfde filter behouden blijft, heeft de klant een verbetering van 50% in de queryprestaties en 100% recall nauwkeurigheid behaald.

FAQs

Hoe presteert ENN op schaal?

  • Prestaties van grote gegevenssets: ENN kan langzamer zijn voor grote gegevenssets zonder selectief filteren vanwege de noodzaak om elke vector te evalueren.
  • Hogere rekenkosten: ENN omvat het vergelijken van de queryvector met alle (of gefilterde) vectoren, wat leidt tot een verhoogd resourcegebruik voor een grote gegevensset.

ANN versus ENN: Wat is het verschil?

  • Exact Nearest Neighbor (ENN) Vector Search biedt 100% nauwkeurigheid door de queryvector volledig te vergelijken met alle geïndexeerde vectoren, waardoor het geschikt is voor toepassingen die nauwkeurige resultaten vereisen of bij het omgaan met kleinere gegevenssets of gefilterde subsets.
  • Approximate Nearest Neighbor (ANN)-zoekopdracht maakt gebruik van gespecialiseerde indexeringstechnieken om snellere reacties en betere schaalbaarheid voor grote gegevenssets te bieden, hoewel het enigszins afbreuk kan doen aan de nauwkeurigheid.

Volgende stap