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
Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
En Azure Cognitive Search tjänst (vilken nivå som helst, vilken region som helst). Skapa en tjänst eller hitta en befintlig tjänst under din aktuella prenumeration. Du kan använda en kostnadsfri tjänst för den här snabbstarten.
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.
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
Logga in på Azure-portalen med ditt Azure-konto.
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.
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.
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.
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:
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.
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.
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.
Ö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.
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.
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.
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.
Klicka på Sökutforskaren i kommandofältet.
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).
Klistra in frågesträngarna nedan i sökfältet och klicka på Sök.
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
facetger ett antal dokument i varje kategori.$top=2 hämtar tillbaka två dokument, som visar att du kan använda
topfö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.
Prova fuzzy-sökning
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.
Prova geospatial sökning
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.