Grundlegendes zur Indizierung
Bei der Indizierung wird für jede indizierte Entität ein Dokument erstellt. Während der Indizierung erstellt eine Anreicherungspipeline iterativ die Dokumente, die Metadaten aus der Datenquelle mit den von kognitiven Skills extrahierten angereicherten Feldern kombinieren. Sie können sich jedes indizierte Dokument als JSON-Struktur vorstellen, die anfänglich aus einem Dokument mit den Indexfeldern besteht, die Sie den direkt aus den Quelldaten extrahierten Feldern wie folgt zugeordnet haben:
- document
- metadata_storage_name
- metadata_author
- content
Wenn die Dokumente in der Datenquelle Bilder enthalten, können Sie den Indexer so konfigurieren, dass die Bilddaten extrahiert werden, und jedes Bild wie folgt in eine normalized_images-Auflistung einfügen:
- document
- metadata_storage_name
- metadata_author
- content
- normalized_images
- image0
- image1
Durch diese Art der Normalisierung der Bilddaten können Sie die Sammlung von Bildern als Eingabe für Skills verwenden, die Informationen aus Bilddaten extrahieren.
Jeder Skill fügt dem Dokument Felder hinzu. Ein Skill, der die Sprache erkennt, in der ein Dokument verfasst ist, kann seine Ausgabe z. B. wie folgt in einem language-Feld speichern:
- document
- metadata_storage_name
- metadata_author
- content
- normalized_images
- image0
- image1
- language
Das Dokument ist hierarchisch strukturiert, und die Skills werden auf einen bestimmten Kontext innerhalb der Hierarchie angewendet, sodass Sie den Skill für jedes Element auf einer bestimmten Dokumentebene ausführen können. Beispielsweise können Sie für jedes Bild in der Sammlung normalisierter Bilder einen Skill für optische Zeichenerkennung (Optical Character Recognition, OCR) ausführen, um den gesamten Text daraus zu extrahieren:
- document
- metadata_storage_name
- metadata_author
- content
- normalized_images
- image0
- Text
- image1
- Text
- image0
- language
Die Ausgabefelder aller Skills können später in der Pipeline als Eingaben für andere Skills verwendet werden, die wiederum ihre Ausgaben in der Dokumentstruktur speichern. Sie können beispielsweise einen Skill zum Zusammenführen verwenden, um den ursprünglichen Textinhalt mit dem aus den einzelnen Bildern extrahierten Text zu kombinieren, um ein neues merged_content-Feld zu erstellen, das den ganzen Text im Dokument enthält, einschließlich des Bildtexts.
- document
- metadata_storage_name
- metadata_author
- content
- normalized_images
- image0
- Text
- image1
- Text
- image0
- language
- merged_content
Der Indexer ordnet die Felder in der endgültigen Dokumentstruktur am Ende der Pipeline auf zwei Arten Indexfeldern zu:
- Felder, die direkt aus den Quelldaten extrahiert werden, werden allesamt Indexfeldern zugeordnet. Diese Zuordnungen können implizit (Felder werden automatisch Feldern mit demselben Namen im Index zugeordnet) oder explizit sein (eine Zuordnung wird definiert, um ein Quellfeld einem Indexfeld zuzuordnen. Dies erfolgt häufig, um dem Feld einen hilfreicheren Namen zu geben oder um bei der Zuordnung eine Funktion auf den Datenwert anzuwenden).
- Ausgabefelder der Skills im Skillset werden explizit durch ihre hierarchische Position in der Ausgabe dem Zielfeld im Index zugeordnet.