Läsa in data i ett sökindex i Azure AI Search
Den här artikeln beskriver hur du importerar dokument till ett fördefinierat sökindex. I Azure AI Search skapas ett sökindex först med dataimport som följer som ett andra steg. Undantaget är importguider i pipelines för Azure Portal och indexerare, som skapar och läser in ett index i ett arbetsflöde.
Så här fungerar dataimport
En söktjänst accepterar JSON-dokument som överensstämmer med indexschemat. En söktjänst kan importera och indexera oformaterad textinnehåll och vektorinnehåll i JSON-dokument.
Oformaterat textinnehåll hämtas från fält i den externa datakällan, från metadataegenskaper eller från berikat innehåll som genereras av en kompetensuppsättning (färdigheter kan extrahera eller härleda textbeskrivningar från bilder och ostrukturerat innehåll).
Vektorinnehåll hämtas från en datakälla som tillhandahåller det, eller så skapas det av en kompetensuppsättning som implementerar integrerad vektorisering i en Azure AI Search-indexerare.
Du kan förbereda dokumenten själv, men om innehållet finns i en datakälla som stöds kan du automatisera dokumenthämtning, JSON-serialisering och indexering genom att köra en indexerare eller använda en importguide.
När data har indexerats är indexets fysiska datastrukturer låsta. Mer information om vad som kan och inte kan ändras finns i Uppdatera och återskapa ett index.
Indexering är inte en bakgrundsprocess. En söktjänst balanserar indexering och frågearbetsbelastningar, men om frågefördröjningen är för hög kan du antingen lägga till kapacitet eller identifiera perioder med låg frågeaktivitet för att läsa in ett index.
Mer information finns i Strategier för dataimport.
Använda Azure Portal
I Azure Portal använder du importguiderna för att skapa och läsa in index i ett sömlöst arbetsflöde. Om du vill läsa in ett befintligt index väljer du en alternativ metod.
Logga in på Azure Portal med ditt Azure-konto och leta reda på söktjänsten.
På sidan Översikt väljer du Importera data eller Importera och vektorisera data i kommandofältet för att skapa och fylla i ett sökindex.
Du kan följa dessa länkar för att granska arbetsflödet: Snabbstart: Skapa ett Azure AI Search-index och snabbstart: Integrerad vektorisering.
När guiden är klar använder du Sökutforskaren för att söka efter resultat.
Dricks
Importguiderna skapar och kör indexerare. Om indexerare redan har definierats kan du återställa och köra en indexerare från Azure Portal, vilket är användbart om du lägger till fält stegvis. Återställning tvingar indexeraren att börja om och plocka upp alla fält från alla källdokument.
Använda REST-API:er
Dokument – Index är REST-API:et för att importera data till ett sökindex. REST-API:er är användbara för inledande proof-of-concept-testning, där du kan testa indexeringsarbetsflöden utan att behöva skriva mycket kod. Parametern @search.action
avgör om dokument läggs till i sin helhet eller delvis när det gäller nya värden eller ersättningsvärden för specifika fält.
Snabbstart: Textsökning med REST förklarar stegen. Följande exempel är en modifierad version av exemplet. Det har trimmats för korthet och det första HotelId-värdet har ändrats för att undvika att skriva över ett befintligt dokument.
Formulera ett POST-anrop som anger indexnamnet, slutpunkten "docs/index" och en begärandetext som innehåller parametern
@search.action
.POST https://[service name].search.windows.net/indexes/hotels-sample-index/docs/index?api-version=2024-07-01 Content-Type: application/json api-key: [admin key] { "value": [ { "@search.action": "upload", "HotelId": "1111", "HotelName": "Stay-Kay City Hotel", "Description": "The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time's Square and the historic centre of the city, as well as other places of interest that make New York one of America's most attractive and cosmopolitan cities.", "Category": "Boutique", "Tags": [ "pool", "air conditioning", "concierge" ] }, { "@search.action": "mergeOrUpload", "HotelId": "2", "HotelName": "Old Century Hotel", "Description": "This is description is replacing the original one for this hotel. New and changed values overwrite the previous ones. In a comma-delimited list like Tags, be sure to provide the full list because there is no merging of values within the field itself.", "Category": "Boutique", "Tags": [ "pool", "free wifi", "concierge", "my first new tag", "my second new tag" ] } ] }
Ange parametern
@search.action
tillupload
för att skapa eller skriva över ett dokument. Ange det tillmerge
elleruploadOrMerge
om du riktar in dig på uppdateringar av specifika fält i dokumentet. I föregående exempel visas båda åtgärderna.Åtgärd Effekt 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 etttags
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ältettags
. Det blir det inte["budget", "economy", "pool"]
.mergeOrUpload Fungerar som sammanslagning om dokumentet finns och ladda upp om dokumentet är nytt. Det här är den vanligaste åtgärden för inkrementella uppdateringar. ladda upp Liknar 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. Skicka begäran.
Leta upp de dokument som du nyss lade till som ett valideringssteg:
GET https://[service name].search.windows.net/indexes/hotel-sample-index/docs/1111?api-version=2024-07-01
När dokumentnyckeln eller ID:t är nytt blir null värdet för alla fält som är ospecificerade i dokumentet. För åtgärder i ett befintligt dokument ersätter uppdaterade värden de tidigare värdena. Alla fält som inte har angetts i en "sammanslagning" eller "mergeUpload" lämnas intakta i sökindexet.
Använda Azure SDK:er
Programmering finns i följande Azure SDK:er.
Azure SDK för .NET tillhandahåller följande API:er för enkla och massuppladdningar av dokument till ett index:
Det finns flera exempel som illustrerar indexering i samband med enkel och storskalig indexering:
"Läs in ett index" förklarar grundläggande steg.
Azure.Search.Documents-exempel – Indexering av dokument från Azure SDK-teamet lägger till SearchIndexingBufferedSender.
Självstudie: Indexera alla datapar batchindexering med teststrategier för att fastställa en optimal storlek.
Se till att kontrollera lagringsplatsen azure-search-vector-samples för kodexempel som visar hur du indexar vektorfält.