Veelgestelde vragen over Azure AI Search

Vind antwoorden op veelgestelde vragen over Azure AI Search.

Algemeen

Wat is Azure AI Search?

Azure AI Search biedt een toegewezen zoekmachine en permanente opslag van uw doorzoekbare inhoud voor scenario's voor volledige tekst en vectorzoekscenario's. Het bevat ook optionele, geïntegreerde AI om meer tekst en structuur uit onbewerkte inhoud te extraheren en inhoud te segmenteren en te vectoriseren voor vectorzoekopdrachten.

Hoe kan ik werken met Azure AI Search?

De primaire werkstroom is het maken, laden en opvragen van een index. Hoewel u de portal voor de meeste taken kunt gebruiken, is Azure AI Search bedoeld om programmatisch te worden gebruikt, zodat aanvragen van clientcode worden verwerkt. Programmatische ondersteuning wordt geboden via REST API's en clientbibliotheken in .NET, Python, Java en JavaScript SDK's voor Azure.

Zijn 'Azure Search' en 'Azure Cognitive Search' en 'Azure AI Search' hetzelfde product?

Azure Search is in oktober 2019 hernoemd naar Azure Cognitive Search om het uitgebreide (maar optionele) gebruik van cognitieve vaardigheden en AI-verwerking in servicebewerkingen weer te geven. De naam van Azure Cognitive Search is in oktober 2023 gewijzigd in Azure AI Search, zodat deze overeenkomt met Azure AI-services.

Welke talen worden ondersteund?

De standaardanalyse die wordt gebruikt voor tokenisatie is standaard Lucene en taalneutraal. Anders wordt taalondersteuning uitgedrukt via taalanalyses die taalkundige regels toepassen op inkomende (indexering) en uitgaande inhoud (query's). Sommige functies, zoals spellingcontrole, zijn beperkt tot een subset talen.

Hoe kan ik zoeken integreren in mijn oplossing?

Clientcode moet de Azure SDK-clientbibliotheken of REST API's aanroepen om verbinding te maken met een zoekindex, query's te formuleren en antwoorden te verwerken. U kunt ook code schrijven waarmee een index wordt gebouwd en vernieuwd, of indexeerfuncties programmatisch of op script worden uitgevoerd.

Is er functionele pariteit in de verschillende API's?

Niet altijd. De REST API is altijd de eerste voor het implementeren van nieuwe functies in preview-API-versies. De clientbibliotheken in Azure SDK's halen in de loop van de tijd nieuwe functies op, maar worden volgens hun eigen planning uitgebracht.

Hoewel de REST API's voor het eerst worden gebruikt met de nieuwste functies, bieden de Azure SDK's meer coderingsondersteuning en worden ze aanbevolen via REST, tenzij een vereiste functie niet beschikbaar is.

Kan ik de service onderbreken en de facturering stoppen?

U kunt een zoekservice niet onderbreken. In Azure AI Search worden rekenresources toegewezen wanneer de service wordt gemaakt. Het is niet mogelijk om deze resources on-demand vrij te geven en vrij te maken.

Kan ik de service upgraden, downgraden, de naam ervan wijzigen of verplaatsen?

De servicelaag, de naam en de regio zijn vast voor de levensduur van de service.

Als ik mijn zoekservice migreer naar een ander abonnement of een andere resourcegroep, moet ik downtime verwachten?

Zolang u de controlelijst volgt voordat u resources verplaatst en ervoor zorgt dat elke stap is voltooid, mag er geen downtime zijn.

Indexeren

Wat betekent 'indexeren' in Azure AI Search?

Het verwijst naar de opname, parsering en opslag van tekstuele inhoud en tokens die een zoekindex vullen. Met indexeren worden omgekeerde indexen en andere fysieke gegevensstructuren gemaakt die informatie ophalen ondersteunen.

Er worden vectorindexen gemaakt als het schema vectorvelden bevat.

Kan ik indexen verplaatsen, back-ups maken en herstellen?

Er is geen systeemeigen ondersteuning voor het overzetten van indexen. Zoekindexen worden beschouwd als downstreamgegevensstructuren en accepteren inhoud van andere gegevensbronnen die operationele gegevens verzamelen. Daarom is er geen ingebouwde ondersteuning voor het maken van back-ups en het herstellen van indexen, omdat u verwacht dat u een index opnieuw maakt op basis van brongegevens als u deze hebt verwijderd of wilt verplaatsen.

Als u echter een index tussen zoekservices wilt verplaatsen, kunt u de voorbeeldcode indexback-up-restore proberen in deze Azure AI Search .NET-voorbeeldopslagplaats. Er is ook een Python-versie van back-up en herstel.

Kan ik mijn index of service herstellen nadat deze is verwijderd?

Nee, als u een Azure AI Search-index of -service verwijdert, kan deze niet worden hersteld. Wanneer u een zoekservice verwijdert, worden alle indexen in de service permanent verwijderd.

Kan ik indexeren vanuit SQL Database-replica's?

Als u de zoekindexeerfunctie voor Azure SQL Database gebruikt, gelden er geen beperkingen voor het gebruik van primaire of secundaire replica's als gegevensbron wanneer u een geheel nieuwe index bouwt. Voor het vernieuwen van een index met incrementele updates (op basis van gewijzigde records) is echter de primaire replica vereist. Deze vereiste is afkomstig van SQL Database, dat alleen het bijhouden van wijzigingen op primaire replica's garandeert. Als u secundaire replica's gebruikt voor een workload voor indexvernieuwing, is er geen garantie dat u alle gegevens krijgt.

Vectoren

Wat is vectorzoekopdrachten?

Vectorzoekopdrachten is een techniek waarmee de meest vergelijkbare documenten worden gevonden door hun vectorweergaven te vergelijken. Aangezien het doel van een vectorweergave is om de essentiële kenmerken van een item in een numerieke indeling vast te leggen, kunnen vectorquery's vergelijkbare inhoud identificeren, zelfs als er geen expliciete overeenkomsten zijn op basis van trefwoorden of tags. Wanneer een gebruiker een zoekopdracht uitvoert, wordt de query samengevat in een vectorweergave en identificeert de vectorzoekmachine de meest vergelijkbare documenten. Om de efficiëntie van grote databases te verbeteren, biedt vectorzoekopdrachten vaak de dichtstbijzijnde buren voor een queryvector. Zie het overzicht van vectorzoekopdrachten voor de specifieke kenmerken van het vectoraanbod van Azure AI Search.

Biedt Azure AI Search ondersteuning voor vectorzoekopdrachten?

Azure AI Search biedt ondersteuning voor vectorindexering en -ophalen. Het kan queryreeksen en inhoud vectoriseren als u de preview- en bètabibliotheken gebruikt.

Hoe werkt vectorzoekopdrachten in Azure AI Search?

Met zelfstandige vectorzoekopdrachten gebruikt u eerst een insluitmodel om inhoud te transformeren in een vectorweergave binnen een insluitruimte. U kunt deze vectoren vervolgens opgeven in een nettolading van een document aan de zoekindex voor indexering. Als u zoekaanvragen wilt verwerken, gebruikt u dezelfde DNN van indexering om de zoekquery om te zetten in een vectorweergave en vindt vectorzoekopdrachten de meest vergelijkbare vectoren en retourneert u de bijbehorende documenten.

In Azure AI Search kunt u vectorgegevens indexeren als velden in documenten, naast tekst en andere typen inhoud. Het gegevenstype voor een vectorveld is Collection(Edm.Single).

Vectorquery's kunnen zelfstandig of in combinatie met andere querytypen worden uitgegeven, waaronder termquery's en filters in dezelfde zoekaanvraag.

Kan Azure AI Search mijn inhoud of query's vectoriseren?

Ingebouwde geïntegreerde vectorisatie is nu beschikbaar als openbare preview.

Ondersteunt mijn zoekservice vectorzoekopdrachten?

De meeste bestaande services ondersteunen vectorzoekopdrachten. Als u een pakket of API gebruikt die ondersteuning biedt voor het maken van vectorzoekopdrachten en indexen, biedt de onderliggende zoekservice geen ondersteuning voor vectorzoekopdrachten en moet er een nieuwe service worden gemaakt. Dit kan gebeuren voor een kleine subset van services die vóór 1 januari 2019 zijn gemaakt.

Kan ik vectorzoekopdrachten toevoegen aan een bestaande index?

Als uw zoekservice vectorzoekopdrachten ondersteunt, kunnen zowel bestaande als nieuwe indexen vectorvelden ondersteunen.

Waarom zie ik verschillende limieten voor vectorindexgrootte tussen mijn nieuwe zoekservices en bestaande zoekservices?

We implementeren wereldwijd verbeterde limieten voor vectorindexgrootte voor nieuwe zoekservices, maar we bouwen nog steeds infrastructuurcapaciteit in bepaalde regio's op. Nieuwe zoekservices die in ondersteunde regio's zijn gemaakt, zien hogere limieten voor vectorindexgrootten. Helaas kunnen we bestaande services niet migreren naar de nieuwe limieten.

Hoe kan ik vectorzoekopdrachten inschakelen voor een zoekindex?

Als u vectorzoekopdrachten in een index wilt inschakelen, moet u het volgende doen:

  • Voeg een of meer vectorvelden toe aan een veldverzameling.

  • Voeg een sectie VectorSearch toe aan het indexschema dat de configuratie aangeeft die wordt gebruikt door vectorzoekvelden, inclusief de parameters van het algoritme Geschatte dichtstbijzijnde buur die wordt gebruikt, zoals HNSW.

  • Gebruik 2023-11-01 of een Azure SDK om de index te maken of bij te werken, documenten te laden en query's uit te voeren.

Query's

Waar vindt de uitvoering van query's plaats?

Query's worden uitgevoerd via één zoekindex die wordt gehost in uw zoekservice. U kunt niet meerdere indexen koppelen om inhoud in twee of meer indexen te doorzoeken, maar u kunt query's uitvoeren op indexen met dezelfde naam in meerdere zoekservices.

Waarom zijn er nul overeenkomsten op voorwaarden die ik weet geldig te zijn?

Het meest voorkomende geval is het niet weten dat elk querytype verschillende zoekgedragen en taalanalyseniveaus ondersteunt. Zoeken in volledige tekst, wat de overheersende workload is, bevat een taalanalysefase die termen opsplitst in hoofdformulieren. Dit aspect van het parseren van query's cast een breder net over mogelijke overeenkomsten, omdat de tokenized term overeenkomt met een groter aantal varianten.

Jokertekens, fuzzy en regex-query's worden echter niet geanalyseerd als reguliere term- of woordgroepenquery's en kunnen leiden tot slechte relevante overeenkomsten als de query niet overeenkomt met de geanalyseerde vorm van het woord in de zoekindex. Zie de queryarchitectuur voor meer informatie over het parseren en analyseren van query's.

Waarom zijn mijn zoekopdrachten met jokertekens traag?

De meeste zoekquery's met jokertekens, zoals voorvoegsel, fuzzy en regex, worden intern herschreven met overeenkomende termen in de zoekindex. Deze extra verwerking voegt toe aan latentie. Verder worden uitgebreide zoekquery's, zoals a* bijvoorbeeld, waarschijnlijk herschreven met veel termen, wat traag kan zijn. Voor actieve zoekopdrachten met jokertekens kunt u een aangepaste analyse definiëren.

Kan ik zoeken in meerdere indexen?

Nee, een query is altijd gericht op één index.

Waarom is de zoekscore een constante 1,0 voor elke overeenkomst?

Zoekscores worden gegenereerd voor zoekquery's in volledige tekst, op basis van de statistische eigenschappen van overeenkomende termen en geordend hoog tot laag in de resultatenset. Querytypen die geen zoekopdracht in volledige tekst (jokerteken, voorvoegsel, regex) zijn, worden niet gerangschikt op relevantiescore. Dit is zo ontworpen. Met een constante score kunnen overeenkomsten die via query-uitbreiding worden gevonden, worden opgenomen in de resultaten, zonder dat dit van invloed is op de classificatie.

Stel dat een invoer van 'tour*' in een zoekopdracht met jokertekens overeenkomsten produceert op 'tours', 'tourettes' en 'tourmaline'. Gezien de aard van deze resultaten, is er geen manier om redelijk te afleiden welke termen waardevoller zijn dan andere. Om deze reden worden termfrequenties genegeerd bij het scoren van query's van typen jokertekens, voorvoegsel en regex. Zoekresultaten op basis van een gedeeltelijke invoer krijgen een constante score om vooroordelen voor mogelijk onverwachte overeenkomsten te voorkomen.

Beveiliging

Waar worden klantgegevens opgeslagen in Azure AI Search?

Uw gegevens worden opgeslagen waar uw service ook wordt geïmplementeerd. Azure AI Search slaat geen klantgegevens op buiten de implementatieregio.

Verzendt Azure AI Search klantgegevens naar andere services voor verwerking?

Ja, als u de ingebouwde vaardigheden gebruikt op basis van Azure AI-services, verzendt de indexeerfunctie aanvragen naar Azure AI-services via het interne netwerk. Als u een aangepaste vaardigheid toevoegt, verzendt de indexeerfunctie inhoud naar de URI die is opgegeven in de aangepaste vaardigheid via het openbare netwerk.

Kan ik de toegang tot zoekresultaten beheren op basis van gebruikersidentiteit?

Niet precies. Gebruikers die gemachtigd zijn om uw toepassing uit te voeren, zijn doorgaans ook gemachtigd om alle zoekresultaten te bekijken. Azure AI Search heeft geen ingebouwde ondersteuning voor machtigingen op rij- of documentniveau, maar u kunt beveiligingsfilters implementeren als tijdelijke oplossing.

Kan ik de toegang tot bewerkingen beheren op basis van gebruikersidentiteit?

Ja, u kunt autorisatie op basis van rollen gebruiken voor gegevensvlakbewerkingen via inhoud.

Kan ik Azure Portal gebruiken om zoekinhoud weer te geven en te beheren als de zoekservice zich achter een IP-firewall of een privé-eindpunt bevindt?

U kunt Azure Portal gebruiken in een met netwerk beveiligde zoekservice als u een netwerkonderzondering maakt waarmee client- en portaltoegang is toegestaan. Zie voor meer informatie verbinding maken via een IP-firewall of verbinding maken via een privé-eindpunt.

Volgende stappen

Als uw vraag hier niet wordt beantwoord, kunt u de volgende bronnen raadplegen voor meer vragen en antwoorden.

Stack Overflow: Azure AI Search
Hoe zoeken in volledige tekst werkt in Azure AI Search
Wat is Azure AI Search?