Söka i Azure Blob Storage innehåll

Det kan vara svårt att söka bland de olika innehållstyper som lagras Storage Azure Blob-lagring. I den här artikeln granskar du det grundläggande arbetsflödet för att extrahera innehåll och metadata från blobar och skicka det till ett sökindex i Azure Cognitive Search. Det resulterande indexet kan efterfrågas med fulltextsökning.

Anteckning

Är du redan bekant med arbetsflödet och sammansättningen? Nästa steg är hur du konfigurerar en blobindexerare.

Vad det innebär att lägga till fulltextsökning i blobdata

Azure Cognitive Search är en söktjänst som stöder indexering och frågearbetsbelastningar över användardefinierade index som innehåller ditt sökbara fjärrinnehåll som finns i molnet. Det är nödvändigt att samplacera sökbart innehåll med frågemotorn för att uppnå prestanda, och returnera resultat med en hastighet som användarna har förväntar sig av sökfrågor.

Cognitive Search integreras med Azure Blob Storage i indexeringslagret och importerar ditt blobinnehåll som sökdokument som indexeras i inverterade index och andra frågestrukturer som stöder friformstextfrågor och filteruttryck. Eftersom ditt blobinnehåll indexeras i ett sökindex kan du använda alla frågefunktioner i Azure Cognitive Search för att hitta information i ditt blobinnehåll.

Indata är dina blobar, i en enda container, i Azure Blob Storage. Blobar kan vara nästan alla typer av textdata. Om dina blobar innehåller bilder kan du lägga till AI-berikning i blobindexering för att skapa och extrahera text från bilder.

Utdata är alltid Azure Cognitive Search ett index som används för snabb textsökning, hämtning och utforskning i klientprogram. Däremellan finns själva indexeringspipelinens arkitektur. Pipelinen baseras på indexerarfunktionen, som beskrivs närmare i den här artikeln.

När indexet har skapats och fyllts i finns det oberoende av blobcontainern, men du kan köra indexeringsåtgärder igen för att uppdatera ditt index baserat på ändrade dokument. Tidsstämpelinformation om enskilda blobar används för ändringsidentifiering. Du kan välja antingen schemalagd körning eller indexering på begäran som uppdateringsmekanism.

Nödvändiga resurser

Du behöver både Azure Cognitive Search och Azure Blob Storage. I Blob Storage behöver du en container som tillhandahåller källinnehåll.

Du kan börja direkt på Storage-kontoportalsidan. På den vänstra navigeringssidan under Blob Service väljer du Lägg till Azure Cognitive Search för att skapa en ny tjänst eller välja en befintlig.

När du lägger Azure Cognitive Search till ditt lagringskonto kan du följa standardprocessen för att indexera blobdata. Vi rekommenderar guiden Importera data i Azure Cognitive Search en enkel inledande introduktion eller anropa REST API:er med hjälp av ett verktyg som Postman. I den här självstudien går vi igenom stegen för att anropa REST API i Postman: Indexera och söka efter halvstrukturerade data (JSON-blobar) i Azure Cognitive Search.

Använda en Blob-indexerare

En indexerare är en datakällsmedveten undertjänst i Cognitive Search med intern logik för samplingsdata, läsning av metadatadata, hämtning av data och serialisering av data från interna format till JSON-dokument för efterföljande import.

Blobar i Azure Storage indexeras med hjälp av Azure Cognitive Search Blob Storage-indexeraren. Du kan anropa den här indexeraren med hjälp av guiden Importera data, en REST API eller .NET SDK. I koden använder du den här indexeraren genom att ange typen och genom att ange anslutningsinformation som innehåller ett Azure Storage-konto tillsammans med en blobcontainer. Du kan undergruppera dina blobar genom att skapa en virtuell katalog som du sedan kan skicka som en parameter eller genom att filtrera på ett filnamnstillägg.

En indexerare "slår ut ett dokument"och öppnar en blob för att inspektera innehåll. När du har anslutit till datakällan är det det första steget i pipelinen. För blobdata är det här som PDF, Office-dokument och andra innehållstyper identifieras. Dokumentknrickning med textextrahering är ingen avgift. Om dina blobar innehåller bildinnehåll ignoreras bilder om du inte lägger till AI-berikning. Standardindexering gäller endast för textinnehåll.

Blob-indexeraren levereras med konfigurationsparametrar och stöder ändringsspårning om underliggande data ger tillräckligt med information. Du kan lära dig mer om huvudfunktionerna i Azure Cognitive Search Blob Storage-indexeraren.

Åtkomstnivåer som stöds

Åtkomstnivåer för Blob Storage är bland annat hot, cool och archive. Endast heta och coola kan användas av indexerare.

Innehållstyper som stöds

Genom att köra en Blob-indexerare över en container kan du extrahera text och metadata från följande innehållstyper med en enda fråga:

  • PDF
  • Microsoft Office format: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPT/PPTM, MSG (Outlook-e-post), XML (både 2003 och 2006 WORD XML)
  • Öppna dokumentformat: ODT, ODS, ODP
  • HTML
  • XML
  • KML (XML för geografiska representationer)
  • Zip
  • Gz
  • EPUB
  • Eml
  • RTF
  • Oformaterade textfiler (se även Indexera oformaterad text)
  • JSON (se Indexera JSON-blobar)
  • CSV (se Indexera CSV-blobar)

Indexera blobmetadata

Ett vanligt scenario som gör det enkelt att sortera efter blobar av valfri innehållstyp är att indexera både anpassade metadata och systemegenskaper för varje blob. På så sätt indexeras information för alla blobar oavsett dokumenttyp, lagras i ett index i söktjänsten. Med ditt nya index kan du sedan fortsätta att sortera, filtrera och fasetta över allt Blob Storage-innehåll.

Anteckning

Blob Index-taggar indexeras inbyggt av Blob Storage-tjänsten och exponeras för frågor. Om dina blobars nyckel-/värdeattribut kräver indexerings- och filtreringsfunktioner bör blobindextaggar användas i stället för metadata.

Mer information om Blob Index finns i Hantera och hitta data på Azure Blob Storage med Blob Index.

Indexera JSON-blobar

Indexerare kan konfigureras för att extrahera strukturerat innehåll som finns i blobar som innehåller JSON. En indexerare kan läsa JSON-blobar och parsa det strukturerade innehållet i lämpliga fält i ett sökdokument. Indexerare kan också ta blobar som innehåller en matris med JSON-objekt och mappa varje element till ett separat sökdokument. Du kan ange ett parsningsläge för att påverka vilken typ av JSON-objekt som skapas av indexeraren.

Söka efter blobinnehåll i ett sökindex

Utdata från en indexerare är ett sökindex som används för interaktiv utforskning med fritext och filtrerade frågor i en klientapp. För inledande utforskning och verifiering av innehåll rekommenderar vi att du börjar med Sökutforskaren i portalen för att undersöka dokumentstrukturen. Du kan använda enkel frågesyntax, fullständig frågesyntaxoch filteruttryckssyntax i Sökutforskaren.

En mer permanent lösning är att samla in frågeindata och presentera svaret som sökresultat i ett klientprogram. Följande C#-självstudiekurs förklarar hur du skapar ett sökprogram: Skapa ditt första program i Azure Cognitive Search.

Nästa steg