Snabbstart: Skapa ett Azure Cognitive Search-index i Azure Portal

Skapa ditt första sökindex med guiden Importera data och en inbyggd exempeldatakälla som består av fiktiva hotelldata. Guiden vägleder dig genom skapandet av ett sökindex (hotels-sample-index) så att du kan skriva intressanta frågor på bara några minuter.

Även om du inte använder alternativen i den här snabbstarten innehåller guiden en sida för AI-berikning så att du kan extrahera text och struktur från bildfiler och ostrukturerad text. En liknande genomgång som innehåller AI-berikning finns i snabbstarterna om textöversättning och entitetsfärdigheter eller OCR-bildfärdigheter.

Förutsättningar

Kontrollera utrymmet

Många kunder börjar med den kostnadsfria tjänsten. Den kostnadsfria nivån är begränsad till tre index, tre datakällor och tre indexerare. Kontrollera att du har plats för extra objekt innan du börjar. Med den här guiden kan du skapa ett objekt av varje sort.

På översiktssidan för tjänsten kan du se hur många index, indexerare och datakällor du redan har.

En lista över index, indexerare och datakällor

Skapa ett index och läsa in data

Sökfrågor itererar över ett index som innehåller sökbara data, metadata och ytterligare konstruktioner som optimerar vissa sökbeteenden.

I den här självstudien använder vi en inbyggd exempeldatauppsättning som kan crawlas med hjälp av en indexerare via guiden Importera data. En indexerare är en källspecifik crawler som kan läsa metadata och innehåll från Azure-datakällor som stöds. Normalt sett används indexerare programmässigt, men i portalen så kan du komma åt dem via guiden Importera data.

Steg 1 – starta guiden Importera data och skapa en datakälla

  1. Logga in på Azure-portalen med ditt Azure-konto.

  2. Leta upp din söktjänst och klicka på Importera data i kommandofältet på sidan Översikt för att skapa och fylla i ett sökindex.

    Skärmbild av kommandot Importera data

  3. I guiden klickar du på Anslut till dina data > Samples > hotels-sample. Den här datakällan är inbyggd. Om du skapar din egen datakälla så behöver du ange ett namn, typ och anslutningsinformation. När du har skapat den blir den en ”befintlig datakälla” som kan återanvändas i andra importåtgärder.

    Välj exempeldatauppsättning

  4. Fortsätt till nästa sida.

Steg 2 – Hoppa över sidan Berika innehåll

Guiden stöder skapandet av en AI-berikningspipeline för att införliva Cognitive Services AI-algoritmer i indexering.

Vi hoppar över det här steget för tillfället och går direkt till Anpassa målindex.

Hoppa över steget Kognitiva kunskaper

Tips

Du kan gå igenom ett AI-indexeringsexempel i en snabbstart eller självstudie.

Steg 3 – Konfigurera index

För det inbyggda hotellexempelindexet definieras ett standardindexschema åt dig. Med undantag för några avancerade filterexempel körs frågor i dokumentationen och exemplen som riktar sig mot indexet hotel-samples på den här indexdefinitionen:

Genererat hotellindex

I en kodbaserad övning slutförs vanligtvis skapandet av index innan data läses in. Guiden Importera data komprimerar dessa steg genom att generera ett grundläggande index för alla datakällor som den kan crawla. Ett index kräver minst ett namn och en samling fält. Ett av fälten ska vara markerat som dokumentnyckeln som fungerar som en unik identifierare för dokumentet. Du kan också välja att använda språkanalys eller språkförslag för automatisk komplettering eller frågeförslag.

Fälten har datatyper och attribut. Kryssrutorna högst upp är indexattribut som styr hur fältet används.

  • Hämtningsbar innebär att det visas i listor med sökresultat. Du kan markera enskilda fält som avgränsade för sökresultat genom att avmarkera den här kryssrutan, till exempel för fält som endast används i filteruttryck.
  • Nyckel är den unika dokumentdentifieraren. Den är alltid en sträng och den är obligatorisk.
  • Filtrerbar, Sorterbar och Fasetterbar avgör om fält användas i ett filter, en sortering eller en fasetterad navigeringsstruktur.
  • Sökbar innebär att ett fält ingår i fulltextsökning. Strängarna är sökbara. Numeriska fält och fält för booleska värden är ofta markerade som icke sökbara.

Lagringskraven varierar inte till följd av ditt val. Om du till exempel anger attributet Hämtningsbar på flera fält så ökar inte lagringskraven.

Som standard söker guiden igenom datakällan för att hitta unika identifierare som utgör själva grunden för sökordsfältet. Strängar tilldelas som Hämtningsbar och Sökbar. Heltal tilldelas som Hämtningsbar, Filtrerbar, Sorterbar och Fas faserbar.

  1. Acceptera alla standardinställningar.

    Om du kör guiden igen med hjälp av en befintlig hotelldatakälla konfigureras inte indexet med standardattribut. Du måste då manuellt välja attribut för framtida importer.

  2. Fortsätt till nästa sida.

Steg 4 – Konfigurera indexeraren

Klicka på Indexnamn > Namn i guiden Importera data och skriv in ett namn på indexeraren.

Det här objektet definierar en körbar process. Du kan lägga till det i ett återkommande schema, men för tillfället använder du standardalternativet för att köra indexeraren en gång direkt.

Klicka på Skicka för att skapa och köra indexeraren samtidigt.

hotels indexer

Övervaka förloppet

Guiden ska ta dig till listan med indexerare där du kan övervaka förloppet. För självnavigering går du till sidan Översikt och klickar på fliken Indexerare.

Det kan ta några minuter för portalen att uppdatera sidan men du borde se den nyligen skapade indexeraren i listan med status Pågående eller Lyckades, tillsammans med antalet dokument som indexerats.

Meddelande om pågående indexeringsaktiviteter

Visa indexet

Översiktssidan för tjänsten innehåller länkar till de resurser som skapats i din Azure Cognitive Search tjänst. Om du vill visa det index som du precis skapat klickar du på Index i listan över länkar.

Vänta tills portalsidan uppdateras. Efter några minuter bör du se indexet med dokumentantal och lagringsstorlek.

Indexlista på instrumentpanelen för tjänster

I den här listan kan du klicka på indexet hotels-sample som du nyss skapade och visa indexschemat. Du kan också lägga till nya fält.

Fliken Fält visar indexschemat. Om du skriver frågor och behöver kontrollera om ett fält är filtrerbart eller sorterbart visas attributen på den här fliken.

Rulla till slutet av listan för att ange ett nytt fält. Du kan alltid skapa ett nytt fält, men i de flesta fall kan du inte ändra befintliga fält. Befintliga fält har en fysisk representation i söktjänsten och kan därför inte ändras, inte ens i kod. Om du vill ändra ett befintligt fält från grunden så skapar du ett nytt index och tar bort det ursprungliga.

exempel på indexdefinition

Andra konstruktioner, t.ex. bedömningsprofiler och CORS-alternativ, kan läggas till när som helst.

Ägna några minuter åt att gå igenom definitionsalternativen för index så att du förstår vad du kan och inte kan redigera när du utformar ett index. Nedtonade alternativ indikerar att ett värde inte kan ändras eller tas bort.

Fråga med Sökutforskaren

Nu bör du ha ett sökindex som du kan börja köra frågor mot med hjälp av den inbyggda frågesidan Sökutforskaren. Den innehåller en sökruta så att du kan testa godtyckliga frågesträngar.

Sökutforskaren kan endast hantera REST-API-förfrågningar, men stöder syntax för både enkel frågesyntax och fullständig Lucene-frågeparser, samt alla tillgängliga sökparametrar i åtgärder med REST-API:et för dokumentsökning.

  1. Klicka på Sökutforskaren i kommandofältet.

    Kommandot Sökutforskaren

  2. I listrutan Index väljer du hotels-sample-index. Klicka på listrutan API-version för att se vilka REST API:er som är tillgängliga. För frågorna nedan använder du den allmänt tillgängliga versionen (2020-06-30).

    Index- och API-kommandon

  3. Klistra in frågesträngarna nedan i sökfältet och klicka på Sök.

    Frågesträng och sökknapp

Exempelfrågor

Du kan ange termer och fraser på ett liknande sätt som du gör i en Bing- eller Google-sökning eller fullständigt angivna frågeuttryck. Resultat returneras som utförliga JSON-dokument.

Exempelfråga med de N främsta resultaten

Exempel (strängfråga): search=spa

  • Sökparametern används för att ange en nyckelordssökning för fulltextsökning. I det här fallet returneras hotelldata för de som innehåller spa i sökbara fält i dokumentet.

  • Sökutforskaren returnerar resultat i JSON, vilket kan vara detaljerat och svårläst om dokumenten har en kompakt struktur. Detta är avsiktligt eftersom det är viktigt för utvecklingssyften att kunna se hela dokumentet, särskilt under testning. För en bättre användarupplevelse måste du skriva kod som hanterar sökresultaten så att viktiga element framhävs.

  • Dokument består av alla fält som är markerade som ”hämtningsbara” i indexet. Om du vill visa indexattribut i portalen klickar du på hotels-sample i listan Index.

Exempel (parameteriserad fråga): search=spa&$count=true&$top=10

  • Symbolen & används för att lägga till sökparametrar, som kan anges i valfri ordning.

  • Parametern $count=true returnerar det totala antalet returnerade dokument. Det här värdet visas längst upp i sökresultaten. Du kan verifiera filterfrågor genom att övervaka ändringar som rapporterats via $count=true. Mindre antal indikerar att filtret fungerar.

  • Den $top=10 returnerar de högst rangordnade 10 dokumenten av totalsumman. Som standard returnerar Azure Cognitive Search de första 50 bästa matchningarna. Du kan öka eller minska antalet via $top.

Filtrera frågan

Filter tas med i sökbegäranden när du lägger till parametern $filter.

Exempel (filtrerat): search=beach&$filter=Rating gt 4

  • Parametern $filter returnerar resultat som matchar de kriterier som du har angett. I det här fallet betyg som är större än 4.

  • Syntaxen för filtret är en OData-konstruktion. Mer information finns i OData-filtersyntax.

Fasettera frågan

Fasettfilter tas med i sökbegäranden. Du kan använda parametern facet för att returnera ett aggregerat antal dokument som matchar ett fasettvärde som du anger.

Exempel (fasetterat med områdesreducering): search=*&facet=Category&$top=2

  • search=* är en tom sökning. Tomma sökningar söker efter allt. En anledning till att skicka en tom fråga är att filtrera eller fasettera över hela uppsättningen dokument. Du vill till exempel att en fas faskande navigeringsstruktur ska bestå av alla hotell i indexet.

  • facet returnerar en navigeringsstruktur som du kan skicka till en kontroll i användargränssnittet. Den returnerar kategorier och antal. I det här fallet baseras kategorier på ett fält som enkelt kallas Kategori. Det finns ingen aggregering Azure Cognitive Search, men du kan göra en ungefärlig aggregering via , vilket facet ger ett antal dokument i varje kategori.

  • $top=2 hämtar tillbaka två dokument, som visar att du kan använda top för att både minska eller öka resultat.

Exempel (fasetterat för numeriska värden): search=spa&facet=Rating

  • Den här frågan är fasett för klassificering vid en textsökning efter spa. Termen Klassificering kan anges som en fasett eftersom fältet är markerat som hämtningsbart, filtrerbart och fasettbart i indexet, och de värden som det innehåller (numeriska, 1 till 5) är lämpliga för att kategorisera listor i grupper.

  • Endast filtrerbara fält kan fasetteras. Endast hämtningsbara fält kan returneras i resultatet.

  • Fältet Klassificering är flyttal med dubbel precision och grupperingen kommer att ske med exakt värde. Mer information om gruppering efter intervall (till exempel "3 stjärnklassificeringar", "4 stjärnklassificeringar" osv.) finns i "Frågeparametrar"i REST API .

Markera sökresultat

Träffmarkering innebär att formatera all text som matchar sökordet på ett särskilt sätt inom ett givet fält. Om sökordet begravt långt ned i en beskrivning kan du använda träffmarkering för att göra det lättare att hitta ordet.

Exempel (markering): search=beach&highlight=Description

  • I det här exemplet är det enklare att se det formaterade ordet beach i beskrivningsfältet.

Exempel (språklig analys): search=beaches&highlight=Description

  • Fulltextsökning identifierar grundläggande variationer i ordformulär. I det här fallet innehåller sökresultaten markerad text för "beach", för hotell som har ordet i sina sökbara fält som svar på en nyckelordssökning på "barn". Tack vare språkanalysen kan olika former av samma ord visas i resultaten.

  • Azure Cognitive Search har stöd för 56 analysverktyg från både Lucene och Microsoft. Standardvärdet som används av Azure Cognitive Search är Standard Lucene Analyzer.

Som standard kan felstavade frågetermer, till exempel seatle för "Seattle", inte returnera matchningar i typisk sökning. Följande exempel returnerar inga resultat.

Exempel (felstavat ord, ohanterat): search=seatle

Du kan använda fuzzy-sökning för att hantera felstavningar. Fuzzy-sökning aktiveras när du använder den fullständiga Lucene-frågesyntaxen, som aktiveras när du gör två saker: när du anger queryType = full i frågan och när du lägger till ~ i söksträngen.

Exempel (felstavat ord, hanterat): search=seatle~&queryType=full

Det här exemplet returnerar nu dokument som innehåller matchningar på "Seattle".

När queryType inte är angivet används den enklare standardfrågeparsern. Den enklare frågeparsern är snabbare, men om du behöver tillgång till fuzzy-sökning, reguljära uttryck, närhetssökning eller andra typer av avancerade frågetyper behöver du den fullständiga syntaxen.

Fuzzy-sökning och sökning med jokertecken påverkar sökresultatet. Språkliga analyser utförs inte med dessa frågeformat. Innan du använder fuzzy- och jokerteckensökning bör du läsa Så här fungerar fulltextsökning i Azure Cognitive Search och leta efter avsnittet om undantag till lexikal analys.

Mer information om frågescenarier som aktiveras av den fullständiga frågeparsern finns i Lucene-frågesyntax i Azure Cognitive Search.

Geospatial sökning stöds av datatypen edm.GeographyPoint i fält som innehåller koordinater. Geosearch är en filtertyp som finns med i OData-filtersyntaxen.

Exempel (geo-koordinatfilter): search=*&$count=true&$filter=geo.distance(Location,geography'POINT(-122.12 47.67)') le 5

Med den här exempelfrågan filtreras alla resultat efter platsdata, där resultaten måste ligga mindre än 5 km från en given plats (koordinaterna anges med latitud och longitud). Om du lägger till $count kan du se hur många resultat som returneras när du ändrar antingen avståndet eller koordinaterna.

Geospatial sökning kan vara användbart om sökprogrammet har en funktion av typen ”hitta en bensinstation i närheten av där jag befinner mig” eller om programmet har en funktion för kartnavigering. Det är dock inte fråga om någon fulltextsökning. Om du har användarkrav för att söka på en stad eller ett land/en region efter namn lägger du till fält som innehåller namn på ort eller land/region, förutom koordinater.

Lärdomar

Den här självstudien gav en snabb introduktion Azure Cognitive Search att använda Azure Portal.

Du lärde dig hur du skapar ett sökindex med hjälp av guiden Importera data. Du lärde dig om indexerare, som är den drivande kraften bakom guiden, samt om det grundläggande arbetsflödet vid indexgenerering, inklusive vilka ändringar du kan göra i ett publicerat index.

Med hjälp av Sökutforskaren i Azure-portalen lärde du dig grundläggande frågesyntax genom praktiska exempel som demonstrerade viktiga funktioner som filter, markering av träffar, fuzzy-sökning och geo-sökning.

Du har också läst hur du hittar index, indexerare och datakällor i portalen. När du får nya datakällor i framtiden kan du använda portalen för att snabbt kontrollera deras definitioner eller fältsamlingar utan större ansträngningar.

Rensa resurser

När du arbetar i din egen prenumeration kan det dock vara klokt att i slutet av ett projekt kontrollera om du fortfarande behöver de resurser som du skapade. Resurser som fortsätter att köras kostar pengar. Du kan ta bort resurser individuellt eller ta bort resursgruppen om du vill ta bort hela uppsättningen resurser.

Du kan hitta och hantera resurser i portalen med hjälp av länken Alla resurser eller Resursgrupper i det vänstra navigeringsfönstret.

Kom ihåg att du är begränsad till tre index, indexerare och datakällor om du använder en kostnadsfri tjänst. Du kan ta bort enskilda objekt i portalen för att hålla dig under gränsen.

Nästa steg

Använd en portalguide för att generera en färdig webbapp som körs i en webbläsare. Du kan prova den här guiden för det lilla index som du precis har skapat eller använda en av de inbyggda exempeldatauppsättningarna för en mer omfattande sökupplevelse.