Zoeken in Azure Blob Storage inhoud

Zoeken in de verschillende inhoudstypen die zijn opgeslagen in Azure Blob Storage kan een moeilijk op te lossen probleem zijn. In dit artikel bekijkt u de basiswerkstroom voor het extraheren van inhoud en metagegevens uit blobs en het verzenden ervan naar een zoekindex in Azure Cognitive Search. De resulterende index kan worden opgevraagd met behulp van zoeken in volledige tekst.

Notitie

Bent u al bekend met de werkstroom en samenstelling? Het configureren van een blobindexer is de volgende stap.

Wat betekent het om zoekopdrachten in volledige tekst toe te voegen aan blobgegevens

Azure Cognitive Search is een zoekservice die ondersteuning biedt voor het indexeren en opvragen van workloads via door de gebruiker gedefinieerde indexen die uw externe doorzoekbare inhoud bevatten die in de cloud wordt gehost. Het is voor de prestaties nodig om uw doorzoekbare inhoud samen te plaatsen met de query-engine, zodat resultaten met een snelheid worden retourneert die gebruikers kunnen verwachten van zoekquery's.

Cognitive Search kan worden geïntegreerd met Azure Blob Storage in de indexeringslaag, door uw blob-inhoud te importeren als zoekdocumenten die zijn geïndexeerd in omgekeerde indexen en andere querystructuren die ondersteuning bieden voor vrije tekstquery's en filterexpressie. Omdat uw blob-inhoud is geïndexeerd in een zoekindex, kunt u het volledige bereik van queryfuncties in Azure Cognitive Search om informatie te vinden in uw blob-inhoud.

Invoer zijn uw blobs, in één container, in Azure Blob Storage. Blobs kunnen bijna elk soort tekstgegevens zijn. Als uw blobs afbeeldingen bevatten, kunt u AI-verrijking toevoegen aan blobindexering om tekst te maken en te extraheren uit afbeeldingen.

Uitvoer is altijd een Azure Cognitive Search index die wordt gebruikt voor snel zoeken, ophalen en verkennen van tekst in clienttoepassingen. Daartussen staat de indexeringspijplijnarchitectuur zelf. De pijplijn is gebaseerd op de indexerfunctie, die verderop in dit artikel wordt besproken.

Zodra de index is gemaakt en ingevuld, bestaat deze onafhankelijk van uw blobcontainer, maar u kunt indexeringsbewerkingen opnieuw uitvoeren om de index te vernieuwen op basis van gewijzigde documenten. Tijdstempelinformatie over afzonderlijke blobs wordt gebruikt voor wijzigingsdetectie. U kunt kiezen voor geplande uitvoering of indexering op aanvraag als het vernieuwingsmechanisme.

Vereiste resources

U hebt zowel Azure Cognitive Search als Azure Blob Storage. Binnen blobopslag hebt u een container nodig die broninhoud biedt.

U kunt rechtstreeks op de portalpagina van Storage account beginnen. Selecteer op de linkernavigatiepagina onder Blob service de optie Azure Cognitive Search om een nieuwe service te maken of selecteer een bestaande service.

Zodra u gegevens Azure Cognitive Search aan uw opslagaccount, kunt u het standaardproces volgen om blobgegevens te indexeren. We raden de wizard Gegevens importeren in Azure Cognitive Search voor een eenvoudige eerste inleiding of roep de REST API's aan met behulp van een hulpprogramma zoals Postman. In deze zelfstudie wordt u door de stappen voor het aanroepen van de REST API in Postman: semi-gestructureerde gegevens (JSON-blobs) indexerenen zoeken in Azure Cognitive Search .

Een blobindexering gebruiken

Een indexeerder is een gegevensbronbewuste subservice in Cognitive Search, uitgerust met interne logica voor het nemen van steekproeven van gegevens, het lezen van metagegevens, het ophalen van gegevens en het serialiseren van gegevens uit systeemeigen indelingen in JSON-documenten voor latere import.

Blobs in Azure Storage worden geïndexeerd met behulp van de Azure Cognitive Search blobopslagindexer. U kunt deze indexeerder aanroepen met behulp van de wizard Gegevens importeren, een REST API of de .NET SDK. In code gebruikt u deze indexer door het type in te stellen en door verbindingsgegevens op te geven die een Azure Storage-account samen met een blobcontainer bevatten. U kunt uw blobs subsets door een virtuele map te maken die u vervolgens als parameter kunt doorgeven of door te filteren op een bestandstypeextensie.

Een indexeerder 'opent een document'en opent een blob om inhoud te inspecteren. Nadat u verbinding hebt met de gegevensbron, is dit de eerste stap in de pijplijn. Voor blobgegevens worden hier PDF-, Office-documenten en andere inhoudstypen gedetecteerd. Het kraken van documenten met tekstextractie is gratis. Als uw blobs afbeeldingsinhoud bevatten, worden afbeeldingen genegeerd, tenzij u AI-verrijking toevoegt. Standaardindexering is alleen van toepassing op tekstinhoud.

De blobindexer wordt geleverd met configuratieparameters en ondersteunt het bijhouden van veranderingen als de onderliggende gegevens voldoende informatie bieden. Meer informatie over de kernfunctionaliteit vindt u in Azure Cognitive Search Indexer voor Blob Storage.

Ondersteunde toegangslagen

Blob Storage-toegangslagen zijn onder andere hot, cool en archive. Alleen 'hot' en 'cool' zijn toegankelijk voor indexeerders.

Ondersteunde inhoudstypen

Door een blobindexer uit te voeren voor een container, kunt u tekst en metagegevens uit de volgende inhoudstypen extraheren met één query:

  • PDF
  • Microsoft Office indelingen: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPT/PPTM, MSG (Outlook-e-mailberichten), XML (zowel 2003 als 2006 WORD XML)
  • Open documentindelingen: ODT, ODS, ODP
  • HTML
  • XML
  • KML (XML voor geografische weergaven)
  • Zip
  • Gz
  • EPUB
  • Eml
  • RTF
  • Bestanden met tekst zonder tekst (zie ook Tekst zonder tekst indexeren)
  • JSON (zie JSON-blobs indexeren)
  • CSV (zie CSV-blobs indexeren)

Blobmetagegevens indexeren

Een veelvoorkomende situatie die het eenvoudig maakt om blobs van elk inhoudstype te sorteren, is het indexeren van zowel aangepaste metagegevens als systeemeigenschappen voor elke blob. Op deze manier wordt informatie voor alle blobs geïndexeerd, ongeacht het documenttype, opgeslagen in een index in uw zoekservice. Met behulp van uw nieuwe index kunt u doorgaan met het sorteren, filteren en faceten van alle Blob Storage-inhoud.

Notitie

Blob Index-tags worden standaard geïndexeerd door de Blob Storage-service en worden voor query's blootgesteld. Als voor de sleutel-/waardekenmerken van uw blobs indexerings- en filtermogelijkheden zijn vereist, moeten Blob Index-tags worden gebruikt in plaats van metagegevens.

Zie Gegevens beheren en vinden in Azure Blob-Storage met Blob Index voor meer informatie over Blob Index.

JSON-blobs indexeren

Indexeren kunnen worden geconfigureerd voor het extraheren van gestructureerde inhoud in blobs die JSON bevatten. Een indexer kan JSON-blobs lezen en de gestructureerde inhoud parseren in de juiste velden van een zoekdocument. Indexeerders kunnen ook blobs nemen die een matrix met JSON-objecten bevatten en elk element aan een afzonderlijk zoekdocument toe te kennen. U kunt een parseringsmodus instellen om het type JSON-object te beïnvloeden dat door de indexer is gemaakt.

Blob-inhoud zoeken in een zoekindex

De uitvoer van een indexer is een zoekindex die wordt gebruikt voor interactieve verkenning met behulp van vrije tekst en gefilterde query's in een client-app. Voor het initiële verkennen en verifiëren van inhoud raden we u aan te beginnen met Search Explorer in de portal om de documentstructuur te onderzoeken. U kunt eenvoudige querysyntaxis, volledige querysyntaxisen syntaxis voor filterexpressie gebruiken in Search Explorer.

Een permanentere oplossing is het verzamelen van query-invoer en het presenteren van het antwoord als zoekresultaten in een clienttoepassing. In de volgende C#-zelfstudie wordt uitgelegd hoe u een zoektoepassing maakt: Uw eerste toepassing maken in Azure Cognitive Search.

Volgende stappen