Dataimport i Azure AI Search

I Azure AI Search körs frågor över användarägt innehåll som läses in i ett sökindex. Den här artikeln beskriver de två grundläggande arbetsflödena för att fylla i ett index: skicka dina data till indexet programmatiskt eller hämta data med hjälp av en sökindexerare.

Båda metoderna läser in dokument från en extern datakälla. Även om du kan skapa ett tomt index är det inte frågebart förrän du lägger till innehållet.

Kommentar

Om AI-berikning är ett lösningskrav måste du använda pull-modellen (indexerare) för att läsa in ett index. Kunskapsuppsättningar är kopplade till en indexerare och körs inte oberoende av varandra.

Skicka data till ett index

Push-modell är en metod som använder API:er för att ladda upp dokument till ett befintligt sökindex. Du kan ladda upp dokument individuellt eller i batchar upp till 1 000 per batch, eller 16 MB per batch, beroende på vilken gräns som kommer först.

Viktiga fördelar är:

  • Inga begränsningar för datakällans typ. Nyttolasten måste bestå av JSON-dokument som mappar till indexschemat, men data kan hämtas var som helst.

  • Inga begränsningar för körningsfrekvensen. Du kan skicka ändringar till ett index så ofta du vill. För program med låga svarstider (till exempel när indexet måste vara synkroniserat med produktinventeringsfluktuationer) är push-modellen ditt enda alternativ.

  • Anslut ivitet och säker hämtning av dokument är helt under din kontroll. Indexerarens anslutningar autentiseras däremot med hjälp av säkerhetsfunktionerna i Azure AI Search.

Så här skickar du data till ett Azure AI Search-index

Använd följande API:er för att läsa in enskilda eller flera dokument i ett index:

Det finns inget stöd för att skicka data via Azure-portalen.

En introduktion till push-API:erna finns i:

Indexeringsåtgärder: ladda upp, slå samman, mergeOrUpload, ta bort

Du kan styra typen av indexeringsåtgärd per dokument, ange om dokumentet ska laddas upp i sin helhet, sammanfogas med befintligt dokumentinnehåll eller tas bort.

Oavsett om du använder REST-API:et eller ett Azure SDK stöds följande dokumentåtgärder för dataimport:

  • Ladda upp, ungefär som en "upsert" där dokumentet infogas om det är nytt och uppdateras eller ersätts om det finns. Om dokumentet saknar värden som krävs för indexet är dokumentfältets värde inställt på null.

  • merge uppdaterar ett dokument som redan finns och misslyckas med ett dokument som inte kan hittas. Sammanslagning ersätter befintliga värden. Därför bör du söka efter samlingsfält som innehåller flera värden, till exempel fält av typen Collection(Edm.String). Om ett tags fält till exempel börjar med värdet ["budget"] och du kör en sammanslagning med ["economy", "pool"]är ["economy", "pool"]det slutliga värdet för fältet tags . Det blir det inte ["budget", "economy", "pool"].

  • mergeOrUpload fungerar som sammanslagning om dokumentet finns och laddar upp om dokumentet är nytt.

  • ta bort tar bort hela dokumentet från indexet. Om du vill ta bort ett enskilt fält använder du sammanfoga i stället och anger fältet i fråga till null.

Hämta in data till ett index

Pull-modellen använder indexerare som ansluter till en datakälla som stöds och laddar automatiskt upp data till ditt index. Indexerare från Microsoft är tillgängliga för dessa plattformar:

Du kan använda anslutningsprogram från tredje part som utvecklats och underhålls av Microsoft-partner. Mer information och länkar finns i Galleriet för datakälla.

Indexerare ansluter ett index till en datakälla (vanligtvis en tabell, vy eller motsvarande struktur) och mappar källfält till motsvarande fält i indexet. Under körningen omvandlas raduppsättningen automatiskt till JSON och läses in i det angivna indexet. Alla indexerare stöder scheman så att du kan ange hur ofta data ska uppdateras. De flesta indexerare tillhandahåller ändringsspårning om datakällan har stöd för det. Indexerare spårar ändringar och borttagningar av befintliga dokument och identifierar nya dokument, vilket gör att du slipper hantera dina data i indexet aktivt.

Så här hämtar du data till ett Azure AI Search-index

Använd följande verktyg och API:er för indexeringsbaserad indexering:

Indexerarfunktioner exponeras i [Azure-portalen], REST-API:et och .NET SDK.

En fördel med att använda portalen är att Azure AI Search vanligtvis kan generera ett standardindexschema genom att läsa metadata för källdatauppsättningen.

Verifiera dataimport med Sökutforskaren

Ett snabbt sätt att utföra en preliminär kontroll av dokumentuppladdningen är att använda Sökutforskaren i portalen.

Screenshot of Search Explorer command in the Azure portal.

Med utforskaren kan du köra frågor mot ett index utan att behöva skriva kod. Sökupplevelse baseras på standardinställningar, t.ex. enkel syntax och searchMode-frågeparametern. Resultaten returneras i JSON så att du kan gå igenom hela dokumentet.

Här är en exempelfråga som du kan köra i Sökutforskaren i JSON-vyn. "HotelId" är dokumentnyckeln för hotels-sample-index. Filtret innehåller dokument-ID för ett visst dokument:

{
  "search": "*",
  "filter": "HotelId eq '50'"
}

Om du använder REST uppnår den här sökningsfrågan samma syfte.

Se även