Schnellstart: Erstellen einer KI-basierten Indizierungspipeline unter Verwendung kognitiver Qualifikationen in Azure SearchQuickstart: Create an AI indexing pipeline using cognitive skills in Azure Search

Azure Search wird in Cognitive Services integriert, um einer Azure Search-Indizierungspipeline Qualifikationen zur Extrahierung von Daten, zur Verarbeitung von natürlicher Sprache (Natural Language Processing, NLP) und zur Bildverarbeitung hinzuzufügen und nicht durchsuchbare oder unstrukturierte Inhalte dadurch besser durchsuchbar zu machen.Azure Search integrates with Cognitive Services, adding content extraction, natural language processing (NLP), and image processing skills to an Azure Search indexing pipeline, making unsearchable or unstructured content more searchable.

Viele Cognitive Services-Ressourcen können an einen Indizierungsprozess angefügt werden. Hierzu zählen beispielsweise OCR, Sprachenerkennung und Entitätserkennung.Many Cognitive Services resources - such as OCR, language detection, entity recognition to name a few - can be attached to an indexing process. Mithilfe der KI-Algorithmen von Cognitive Services wird nach Mustern, Funktionen und Merkmalen in den Quelldaten gesucht, und es werden Strukturen und Textinhalte zurückgegeben, die in Lösungen für die Volltextsuche basierend auf Azure Search verwendet werden können.The AI algorithms of Cognitive Services are used to find patterns, features, and characteristics in source data, returning structures and textual content that can be used in full-text search solutions based on Azure Search.

In dieser Schnellstartanleitung erstellen Sie Ihre erste Anreicherungspipeline im Azure-Portal, bevor Sie auch nur eine Zeile Code schreiben:In this quickstart, create your first enrichment pipeline in the Azure portal before writing a single line of code:

  • Beginnen Sie mit Beispieldaten in Azure Blob StorageBegin with sample data in Azure Blob storage
  • Konfigurieren Sie den Datenimport-Assistenten für kognitive Indizierung und AnreicherungConfigure the Import data wizard for cognitive indexing and enrichment
  • Führen Sie den Assistenten aus (eine Entitäts-Qualifikation erkennt Personen, Orte und Organisationen)Run the wizard (an entity skill detects people, location, and organizations)
  • Verwenden Sie den Suchexplorer, um die angereicherten Daten abzufragenUse Search explorer to query the enriched data

In dieser Schnellstartanleitung wird der kostenlose Dienst verwendet. Die Anzahl kostenloser Transaktionen ist allerdings auf 20 Dokumente pro Tag beschränkt.This quickstart runs on the Free service, but the number of free transactions is limited to 20 documents per day. Falls Sie diesen Schnellstart mehrmals pro Tag ausführen möchten, verwenden Sie einen kleineren Dateisatz, um mehr Ausführungen zu ermöglichen.If you want to run this quickstart more than once daily, use a smaller file set so that you can fit in more runs.

Hinweis

Wenn Sie den Umfang erweitern, indem Sie die Verarbeitungsfrequenz erhöhen oder weitere Dokumente oder KI-Algorithmen hinzufügen, müssen Sie eine kostenpflichtige Cognitive Services-Ressource anfügen.As you expand scope by increasing the frequency of processing, adding more documents, or adding more AI algorithms, you will need to attach a billable Cognitive Services resource. Gebühren fallen beim Aufrufen von APIs in Cognitive Services sowie für die Bildextraktion im Rahmen der Dokumentaufschlüsselungsphase in Azure Search an.Charges accrue when calling APIs in Cognitive Services, and for image extraction as part of the document-cracking stage in Azure Search. Für die Textextraktion aus Dokumenten fallen keine Gebühren an.There are no charges for text extraction from documents.

Die Ausführung integrierter Qualifikationen wird nach dem bestehenden nutzungsbasierten Preis für Cognitive Services berechnet.Execution of built-in skills is charged at the existing Cognitive Services pay-as-you go price. Die Preise für die Bildextraktion werden auf der Preisseite von Azure Search beschrieben.Image extraction pricing is described on the Azure Search pricing page.

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

VoraussetzungenPrerequisites

Erstellen Sie einen Azure Search-Dienst, oder suchen Sie in Ihrem aktuellen Abonnement nach einem vorhandenen Dienst.Create an Azure Search service or find an existing service under your current subscription. Für diesen Schnellstart können Sie einen kostenlosen Dienst verwenden.You can use a free service for this quickstart.

Cognitive Services stellt die KI bereit.Cognitive Services provides the AI. In dieser Schnellstartanleitung wird erläutert, wie Sie diese Ressourcen beim Angeben der Pipeline inline hinzufügen.This quickstart includes steps for adding these resources in-line, when specifying the pipeline. Es müssen keine Konten vorab eingerichtet werden.It's not necessary to set up accounts in advance.

Azure-Dienste sind erforderlich, um die Eingaben für die Indizierungspipeline bereitzustellen.Azure services are required to provide the inputs to the indexing pipeline. Sie können eine beliebige, von Azure Search-Indexern unterstützte Datenquelle verwenden. Einzige Ausnahme ist Azure Table Storage, da diese Lösung nicht für die KI-basierte Indizierung unterstützt wird.You can use any data source supported by Azure Search indexers except for Azure Table Storage, which is not supported for AI indexing. In dieser Schnellstartanleitung wird Azure Blob Storage als Container für Quelldatendateien verwendet.This quickstart uses Azure Blob storage as a container for source data files.

Einrichten des Azure Blob-Diensts und Laden von BeispieldatenSet up Azure Blob service and load sample data

  1. Laden Sie die Beispieldaten herunter, die aus einem kleinen Satz Dateien verschiedener Typen bestehen.Download sample data consisting of a small file set of different types.

  2. Registrieren Sie sich für Azure Blob Storage, erstellen Sie ein Speicherkonto, öffnen Sie die Seiten für Blob-Dienste, und erstellen Sie einen Container.Sign up for Azure Blob storage, create a storage account, open the Blob services pages, and create a container. Erstellen Sie das Speicherkonto in der gleichen Region wie Azure Search.Create the storage account in the same region as Azure Search.

  3. Klicken Sie im von Ihnen erstellten Container auf Hochladen, um die in einem vorherigen Schritt heruntergeladenen Beispieldateien hochzuladen.In the container you created, click Upload to upload the sample files you downloaded in a previous step.

    Quelldateien in Azure Blob Storage

Erstellen der AnreicherungspipelineCreate the enrichment pipeline

Kehren Sie zur Dashboardseite des Azure Search-Diensts zurück, und klicken Sie auf der Befehlsleiste auf Daten importieren, um die kognitive Anreicherung in vier Schritten einzurichten.Return to the Azure Search service dashboard page and click Import data on the command bar to set up cognitive enrichment in four steps.

Befehl zum Importieren von Daten

Schritt 1: Erstellen einer DatenquelleStep 1: Create a data source

Wählen Sie unter Verbindung mit Ihren Daten herstellen die Option Azure Blob Storage sowie das erstellte Konto und den erstellten Container aus.In Connect to your data, choose Azure Blob storage, select the account and container you created. Geben Sie der Datenquelle einen Namen, und verwenden Sie für alles andere die Standardwerte.Give the data source a name, and use default values for the rest.

Azure-Blobkonfiguration

Wechseln Sie zur nächsten Seite.Continue to the next page.

Nächste Seite, Schaltfläche für kognitive Suche

Schritt 2: Hinzufügen von kognitiven QualifikationenStep 2: Add cognitive skills

Fügen Sie als nächstes der Indizierungspipeline Anreicherungsschritte hinzu.Next, add enrichment steps to the indexing pipeline. Wenn Sie über keine Cognitive Services-Ressource verfügen, können Sie sich für eine kostenlose Version registrieren, die Ihnen täglich 20 Transaktionen bietet.If you do not have a Cognitive Services resource, you can sign up for a free version that gives you 20 transactions daily. Die Beispieldaten umfassen 14 Dateien, sodass Ihr tägliches Kontingent zumeist aufgebraucht ist, sobald Sie diesen Assistenten ausführen.The sample data consists of 14 files, so your daily allocation will be mostly used up once you run this wizard.

  1. Erweitern Sie Cognitive Services-Instanz anfügen, um Optionen für Ressourcen für Cognitive Services-APIs anzuzeigen.Expand Attach Cognitive Services to view options for resourcing the Cognitive Services APIs. In diesem Tutorial können Sie die Ressource Free verwenden.For the purposes of this tutorial, you can use the Free resource.

    Cognitive Services-Instanz anfügen

  2. Erweitern Sie Anreicherungen hinzufügen, und wählen Sie Qualifikationen aus, die eine Verarbeitung natürlicher Sprache ausführen.Expand Add Enrichments and select skills that perform natural language processing. Wählen Sie für diesen Schnellstart Entitätserkennung für Personen, Organisationen und Orte aus.For this quickstart, choose entity recognition for people, organizations, and locations.

    Cognitive Services-Instanz anfügen

    Das Portal bietet integrierte Qualifikationen für die OCR-Verarbeitung und Textanalyse.The portal offers built-in skills for OCR processing and text analysis. Im Portal arbeitet eine Qualifikationsgruppe auf einem einzelnen Quellfeld.In the portal, a skillset operates over a single source field. Das sieht vielleicht nach einer sehr bescheidenen Zielsetzung aus, aber im Fall von Azure-Blobs enthält das Feld content den größten Teil des Blob-Dokuments (beispielsweise ein Word-Dokument oder einen PowerPoint-Foliensatz).That might seem like a small target, but for Azure blobs the content field contains most of the blob document (for example, a Word doc or PowerPoint deck). Daher stellt dieses Feld die ideale Eingabe dar, da sich hier alle Inhalte eines Blobs finden.As such, this field is an ideal input because all of a blob's content is there.

  3. Wechseln Sie zur nächsten Seite.Continue to the next page.

    Nächste Seite, Index anpassen

Hinweis

Qualifikationen für die Verarbeitung natürlicher Sprache arbeiten auf Textinhalten im Beispieldatenset.Natural language processing skills operate over text content in the sample data set. Da die OCR-Option nicht ausgewählt wurde, werden die JPEG- und PNG-Dateien im Beispieldatenset im Rahmen dieses Schnellstarts nicht verarbeitet.Since we didn't select the OCR option, the JPEG and PNG files found in the sample data set won't be processed in this quickstart.

Schritt 3: Konfigurieren des IndexStep 3: Configure the index

Der Assistent kann in der Regel einen Standardindex ableiten.The wizard can usually infer a default index. In diesem Schritt können Sie das generierte Indexschema anzeigen und ggf. Einstellungen überarbeiten.In this step, you can view the generated index schema and potentially revise any settings. Unten sehen Sie den für das Blobdataset der Demo erstellten Standardindex.Below is the default index created for the demo Blob data set.

Für diesen Schnellstart legt der Assistent sinnvolle Standardwerte fest:For this quickstart, the wizard does a good job setting reasonable defaults:

  • Basierend auf dem Datenquellentyp lautet der Standardname azureblob-index.Default name is azureblob-index based on the data source type.

  • Standardfelder basieren auf dem ursprünglichen Quelldatenfeld (content) sowie den von der kognitiven Pipeline erstellten Ausgabefeldern (people, organizations und locations).Default fields are based on the original source data field (content), plus the output fields (people, organizations, and locations) created by the cognitive pipeline. Standarddatentypen werden aus Metadaten und Datenstichproben abgeleitet.Default data types are inferred from metadata and data sampling.

  • Der Standardschlüssel ist metadata_storage_path (dieses Feld enthält eindeutige Werte).Default key is metadata_storage_path (this field contains unique values).

  • Standardattribute sind für diese Felder abrufbar und durchsuchbar.Default attributes are Retrievable and Searchable for these fields. Durchsuchbar gibt an, dass ein Feld durchsucht werden kann.Searchable indicates a field can be searched. Abrufbar bedeutet, dass es in Ergebnissen zurückgegeben werden kann.Retrievable means it can be returned in results. Der Assistent geht davon aus, dass diese Felder abrufbar und durchsuchbar sein sollen, da Sie sie über eine Qualifikationsgruppe erstellt haben.The wizard assumes you want these fields to be retrievable and searchable because you created them via a skillset.

    Indexfelder

Beachten Sie, dass das Attribut Abrufbar für das Feld content durchgestrichen und mit einem Fragezeichen versehen ist.Notice the strikethrough and question mark on the Retrievable attribute by the content field. Bei textlastigen Blobdokumenten enthält das Feld content den Großteil der Datei, der mehrere tausende Zeilen umfassen kann.For text-heavy blob documents, the content field contains the bulk of the file, potentially running into thousands of lines. Wenn Sie Dateiinhalte an Clientcode übergeben müssen, stellen Sie sicher, dass Abrufbar ausgewählt bleibt.If you need to pass file contents to client code, make sure that Retrievable stays selected. Entfernen Sie andernfalls ggf. dieses Attribut für content, wenn die extrahierten Elemente (people, organizations und locations) für Ihre Zwecke ausreichend sind.Otherwise, consider clearing this attribute on content if the extracted elements (people, organizations, and locations) are sufficient for your purposes.

Die Markierung eines Felds als abrufbar bedeutet nicht, dass das Feld in den Suchergebnissen vorhanden sein muss.Marking a field as Retrievable does not mean that the field must be present in the search results. Sie können die Zusammenstellung der Suchergebnisse präzise steuern und mit dem Abfrageparameter $select angeben, welche Felder enthalten sein sollen.You can precisely control search results composition by using the $select query parameter to specify which fields to include. Bei textlastigen Feldern wie content können Sie mit dem Parameter $select verwaltbare Suchergebnisse für die menschlichen Benutzer Ihrer Anwendung bereitstellen und gleichzeitig sicherstellen, dass Clientcode über das Attribut Abrufbar Zugriff auf alle erforderlichen Informationen hat.For text-heavy fields like content, the $select parameter is your solution for providing manageable search results to the human users of your application, while ensuring client code has access to all the information it needs via the Retrievable attribute.

Wechseln Sie zur nächsten Seite.Continue to the next page.

Nächste Seite, Indexer erstellen

Schritt 4: Konfigurieren des IndexersStep 4: Configure the indexer

Der Indexer ist eine allgemeine Ressource, die den Indizierungsvorgang antreibt.The indexer is a high-level resource that drives the indexing process. Er gibt den Datenquellennamen, einen Zielindex und die Häufigkeit der Ausführung an.It specifies the data source name, a target index, and frequency of execution. Das Endergebnis des Datenimport-Assistenten ist immer ein Indexer, der separat ausgeführt werden kann.The end result of the Import data wizard is always an indexer that you can run repeatedly.

Auf der Seite Indexer können Sie den Standardnamen übernehmen und die Zeitplanoption Einmal ausführen zur sofortigen Ausführung verwenden.In the Indexer page, you can accept the default name and use the Run once schedule option to run it immediately.

Indexerdefinition

Klicken Sie auf Senden, um den Indexer zu erstellen und gleichzeitig auszuführen.Click Submit to create and simultaneously run the indexer.

Überwachen der IndizierungMonitor indexing

Anreicherungsschritte nehmen mehr Zeit in Anspruch als das übliche textbasierte Indizieren.Enrichment steps take longer to complete than typical text-based indexing. Der Assistent sollte die Liste „Indexer“ auf der Übersichtsseite öffnen, damit Sie den Status nachverfolgen können.The wizard should open the Indexer list in the overview page so that you can track progress. Zur eigenen Navigation wechseln Sie zur Seite „Übersicht“, und klicken Sie auf Indexer.For self-navigation, go to the Overview page and click Indexers.

Die Warnung wird angezeigt, da JPG- und PNG-Dateien Bilddateien sind und die OCR-Qualifikation bei dieser Pipeline ausgelassen wurde.The warning occurs because JPG and PNG files are image files, and we omitted the OCR skill from this pipeline. Sie finden auch Benachrichtigungen über Kürzungen.You'll also find truncation notifications. Azure Search beschränkt die Extraktion auf 32.000 Zeichen für den Free-Tarif.Azure Search limits extraction to 32,000 characters on the Free tier.

Azure Search-Benachrichtigung

Indizierung und Anreicherung können zeitaufwändig sein, was der Grund dafür ist, dass wir fürs erste Kennenlernen kleinere Datensets empfehlen.Indexing and enrichment can take time, which is why smaller data sets are recommended for early exploration.

Abfragen im SuchexplorerQuery in Search explorer

Nach der Erstellung eines Index können Sie Abfragen senden, um Dokumente aus dem Index zurückzugeben.After an index is created, you can submit queries to return documents from the index. Verwenden Sie im Portal den Suchexplorer, um Abfragen auszuführen und Ergebnisse anzuzeigen.In the portal, use Search explorer to run queries and view results.

  1. Klicken Sie auf der Dashboardseite des Suchdiensts auf der Befehlsleiste auf Suchexplorer.On the search service dashboard page, click Search explorer on the command bar.

  2. Wählen Sie oben Index ändern aus, um den von Ihnen erstellten Index auszuwählen.Select Change Index at the top to select the index you created.

  3. Geben Sie eine Suchzeichenfolge ein, um den Index abzufragen, z.B. search=Microsoft&searchFields=organizations.Enter a search string to query the index, such as search=Microsoft&searchFields=organizations.

Die Ergebnisse werden in JSON zurückgegeben, was sehr ausführlich und schwierig zu lesen sein kann, insbesondere bei langen Dokumenten, die aus Azure-Blobs stammen.Results are returned in JSON, which can be verbose and hard to read, especially in large documents originating from Azure blobs. Wenn Sie die Ergebnisse nicht komfortabel durchsuchen können, verwenden Sie STRG-F, um in Dokumenten zu suchen.If you can't scan results easily, use CTRL-F to search within documents. Bei dieser Abfrage können Sie im JSON-Code nach bestimmten Begriffen suchen.For this query, you could search within the JSON for specific terms.

STRG-F kann Ihnen darüber hinaus helfen, zu ermitteln, wie viele Dokumente sich in einem bestimmten Resultset befinden.CTRL-F can also help you determine how many documents are in a given result set. Für Azure-Blobs wählt das Portal „metadata_storage_path“ als Schlüssel aus, das jeder Wert für das Dokument eindeutig ist.For Azure blobs, the portal chooses "metadata_storage_path" as the key because each value is unique to the document. Suchen Sie mithilfe von STRG-F nach „metadata_storage_path“, um die Anzahl der Dokumente zu erhalten.Using CTRL-F, search for "metadata_storage_path" to get a count of documents.

Suchexplorer-Beispiel

Wesentliche PunkteTakeaways

Sie haben jetzt Ihre erste Übung mit kognitiv angereicherter Indizierung abgeschlossen.You've now completed your first cognitive-enriched indexing exercise. Der Zweck dieses Schnellstarts bestand darin, Ihnen wichtige Konzepte vorzustellen und Sie praktisch durch den Assistenten zu führen, damit Sie schnell einen Prototypen einer kognitiven Suchlösung für Ihre eigenen Daten erstellen können.The purpose of this quickstart was to introduce important concepts and walk you through the wizard so that you can quickly prototype a cognitive search solution using your own data.

Einige wichtige Konzepte, von denen wir hoffen, dass Sie sie verinnerlicht haben, schließen die Abhängigkeit von Azure-Datenquellen ein.Some key concepts that we hope you picked up include the dependency on Azure data sources. Die Anreicherung der kognitiven Suche ist an Indexer gebunden, und Indexer sind Azure- und quellenspezifisch.Cognitive search enrichment is bound to indexers, and indexers are Azure and source-specific. Dieser Schnellstart verwendet Azure Blob Storage, jedoch sind auch andere Azure-Datenquellen möglich.Although this quickstart uses Azure Blob storage, other Azure data sources are possible. Weitere Informationen finden Sie unter Indexer in Azure Search.For more information, see Indexers in Azure Search.

Ein anderes wichtiges Konzept ist, dass Qualifikationen auf Eingabefeldern arbeiten.Another important concept is that skills operate over input fields. Im Portal müssen Sie ein einzelnes Quellfeld für alle Qualifikationen auswählen.In the portal, you have to choose a single source field for all the skills. Im Code können andere Felder oder die Ausgabe einer Upstreamqualifikation als Eingaben dienen.In code, inputs can be other fields, or the output of an upstream skill.

Eingaben für eine Qualifikation werden einem Ausgabefeld in einem Index zugeordnet.Inputs to a skill are mapped to an output field in an index. Intern richtet das Portal Anmerkungen ein und definiert eine Qualifikationsgruppe, um die Reihenfolge der Vorgänge und den allgemeinen Ablauf festzulegen.Internally, the portal sets up annotations and defines a skillset, establishing the order of operations and general flow. Diese Schritte sind im Portal ausgeblendet, werden aber wichtig, wenn Sie selbst mit der Erstellung von Code beginnen.These steps are hidden in the portal, but when you start writing code, these concepts become important.

Schließlich haben Sie gelernt, dass das Anzeigen von Ergebnissen durch Abfragen des Index erreicht wird.Finally, you learned that viewing results is achieved by querying the index. Was Azure Search bereitstellt, ist ein durchsuchbarer Index, den Sie entweder mit der einfachen oder mit der vollständig erweiterten Abfragesyntax abfragen können.In the end, what Azure Search provides is a searchable index, which you can query using either the simple or fully extended query syntax. Ein Index, der angereicherte Felder enthält, ist wie jeder andere.An index containing enriched fields is like any other. Wenn Sie Standard- oder benutzerdefinierte Analysetools, Bewertungsprofile, Synonyme, facettierte Filter, geografische Suche oder andere Funktionen von Azure Search einbeziehen möchten, stehen Ihnen alle Wege offen.If you want to incorporate standard or custom analyzers, scoring profiles, synonyms, faceted filters, geo-search, or any other Azure Search feature, you can certainly do so.

BereinigenClean up

Wenn Sie in Ihrem eigenen Abonnement arbeiten, sollten Sie sich am Ende eines Projekts überlegen, ob Sie die erstellten Ressourcen noch benötigen.When you're working in your own subscription, it's a good idea at the end of a project to identify whether you still need the resources you created. Ressourcen, die weiterhin ausgeführt werden, können Sie Geld kosten.Resources left running can cost you money. Sie können entweder einzelne Ressourcen oder aber die Ressourcengruppe löschen, um den gesamten Ressourcensatz zu entfernen.You can delete resources individually or delete the resource group to delete the entire set of resources.

Ressourcen können im Portal über den Link Alle Ressourcen oder Ressourcengruppen im linken Navigationsbereich gesucht und verwaltet werden.You can find and manage resources in the portal, using the All resources or Resource groups link in the left-navigation pane.

Denken Sie bei Verwendung eines kostenlosen Diensts an die Beschränkung auf maximal drei Indizes, Indexer und Datenquellen.If you are using a free service, remember that you are limited to three indexes, indexers, and data sources. Sie können einzelne Elemente über das Portal löschen, um unter dem Limit zu bleiben.You can delete individual items in the portal to stay under the limit.

Nächste SchritteNext steps

Experimentieren Sie je nach Art der Bereitstellung der Cognitive Services-Ressource mit Indizierung und Anreicherung, indem Sie den Assistenten mit verschiedenen Qualifikationen und Quelldatenfeldern erneut ausführen.Depending on how you provisioned Cognitive Services resource, you can experiment with indexing and enrichment by rerunning the wizard with different skills and source data fields. Um diese Schritte zu wiederholen, löschen Sie den Index und den Indexer, und erstellen Sie den Indexer mit einer neuen Mischung von Optionen neu.To repeat the steps, delete the index and indexer, then recreate the indexer with a new mix of selections.

  • Wählen Sie unter Übersicht > Indizes den von Ihnen erstellten Index aus, und klicken Sie dann auf Löschen.In Overview > Indexes, select the index you created, and then click Delete.

  • Doppelklicken Sie unter Übersicht auf die Kachel Indexer.In Overview, double-click the Indexers tile. Suchen Sie den von Ihnen erstellten Indexer, und löschen Sie ihn.Find the indexer you created and delete it.

Alternativ können Sie die erstellten Beispieldaten und Dienste wiederverwenden und im nächsten Tutorial lernen, wie Sie diese Aufgaben programmgesteuert erledigen.Alternatively, reuse the sample data and services you created, and learn how to perform the same tasks programmatically in the next tutorial.