Metadaten Anreicherung

Konfiguration

Copyright ©

Mindbreeze GmbH, A-4020 Linz, .

Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.

Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.

Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.

AllgemeinPermanenter Link zu dieser Überschrift

Damit die Anreicherungsverfahren angewendet werden müssen die neuen Metadaten am Index zu den Aggregated Metadata Keys hinzugefügt werden. Zum Beispiel:

Entity RecognitionPermanenter Link zu dieser Überschrift

EinführungPermanenter Link zu dieser Überschrift

Dieses Dokument beschäftigt sich mit dem Konzept, dem Setup und den Troubleshooting Methoden für die Konfiguration von Entity Recogntition.

Konfiguration Entity RecognitionPermanenter Link zu dieser Überschrift

In diesem Kapitel wird das Konzept von Entity Recognition anhand eines einfachen Beispiels erklärt.

Führen Sie zum Einrichten folgende Schritte durch:

  • Verbinden Sie sich zum Management Center
  • Navigieren Sie zu jenem Index, den Sie mit Entity Recognition konfigurieren möchten.
  • Aktivieren Sie die Advanced Settings und öffnen Sie diesen
  • Suchen Sie nach der Einstellung "Entity Recognition Parameter" im Management Center
  • Definieren Sie ihre Entity Recognition Regeln im Feld pattern-rules, die Ihrem Metadatum matchen sollen.
  • Folgende Regelformate werden unterstützt: https://github.com/google/re2/wiki/Syntax
  • In unserem konkreten Beispiel:

    rule=/\// digits /\//. 
    digits=/\d+/.


    Erklärung

    Die erste Regel definiert, dass alle Zahlen zwischen zwei slashes matchen sollen (Regex).: 
    Beispiel: test/1234test1234/test/543/test (543 wird extrahiert)
  • Fügen Sie nun eine neue Metadata-Definition hinzu um die Regeln für Metadaten anzuwenden
  • In diesem Beispiel sucht Mindbreeze im String des existierenden Metadatums In the "fullstring nach Zahlen zwischen 2 Slashes.  Sind Zahlen zwischen 2 Slashes vorhanden,   dann nimmt Mindbreeze den Teil der Matches heraus der in der Subregel „digits" konfiguriert ist und schreibt diesen als String in das neue Metadataum „myextractedVal“.

    Beispiel: 
    fullstring: xyz/1234/herbert543/345test
    Match der Regel  “rule”: /1234/
    Wert der Regel “digits”: 1234
    Wert des Metadataums myextractedVal==1234

Hinweise zur Konfiguration im Management CenterPermanenter Link zu dieser Überschrift

Bei der Konfiguration als Metadatum in Mindbreeze InSpire müssen folgende Felder befüllt werden:

  • If Rule Matches (=Name der Regel)
  • Name (=Name des Metadatums)
  • Value (=Wert der Regel {{Monat}} – kann auch normaler Text sein oder zusammengesetzt sein Bsp.: „Datum {{Tag}}.{{Monat}}.{{Jahr}}“ )
  • Format (=Format der Regel „String“, „Date“, „Number“)
  • Format Options (=Format Optionen – vor allem bei Datum wie bei Simpledateformat)
  • In Existing Metadata (=Bereich wo die Regel angwendet wird z.B.: content, title, datasource/mes:key, <eigenesMetadatum>,…)
  • Scope: Mit der Einstellung Scope ist es möglich, einen Bereich/mehrere Bereiche mit einer Entity Recognition Regel zu selektieren, in denen die Regeln für die Extraktion angewendet werden sollen. Dazu wird der Name der Regel für die Selektierung des Bereiches/der Bereiche in das Feld scope eingetragen. Im Gegensatz zur Werteextraktion müssen Sie hier den Namen ohne {{}} eingeben.

Entity Recognition (Beispiel Filesystem)Permanenter Link zu dieser Überschrift

Dieses Kapitel beschäftigt sich mit der Einrichtung und Erklärung von Entity Recognition mit Mindbreeze unter Anlehnung an ein einfaches Beispiel.

Konfiguration von Entity Recognition für ein Filesystem:Permanenter Link zu dieser Überschrift

Zuerst müssen die Regeln für die Extraktion angelegt werden:

host=/[^\\]+/.

share=/[^\\]+/.

directory=/[^\\]+/.

UNCPath="\\\\" host "\\" share "\\" directory "\\".

If Rule Matches: UNCPath

Name: Laufwerk

Value: {{share}}

In Existing Metadata: datasource/mes:key

If Rule Matches: UNCPath

Name: Projektpfad

Value: {{directory}}

In Existing Metadata: datasource/mes:key

Aggregated Metadata Keys (; separated)

Laufwerk;Projektpfad

Date-Formate für Entity Recognition basieren auf den ICU-Patterns (z.B. Locale … de_AT)

Konfiguration für Entity Recognition für Filesystem Pfade (Variante 2) – mit Ausnahmen:Permanenter Link zu dieser Überschrift

Sind die Regeln mehrdeutig, kann über alternative Regeln und einer Reihung durch Benennung sowie die korrekte Reihung der mehrfachen Metadaten-Extraktion auch solch ein komplexer Fall erreicht werden. Der Pfad (path) als Metadatum ist lower-case und somit besser für CSV-Mapping.

Ein ODER (|) von Sub-Regeln funktioniert nicht!

> einfache Lösung ohne Ausnahme:

Pattern Rules:

LWPath=/\\\\[^\\]+\\[^\\]+\\[^\\]+\\[^\\]+/.

FilePath=/[^\\]+/.

FullPath=LWPath "\\" FilePath.

> Lösung mit einer Ausnahme (data\it):

Pattern Rules:

ASpecialPath="data\\it".

OtherPath=/[^\\]+/.

BaseShare=/\\\\[^\\]+\\[^\\]+\\[^\\]+/.

LWPathA= BaseShare "\\" ASpecialPath.

LWPathOther= BaseShare "\\" OtherPath.

FilePathA=/[^\\].*/.

FilePathOther=/[^\\].*/.

FullPathA=LWPathA "\\" FilePathA.

FullPathOther=LWPathOther "\\" FilePathOther.

Im nachstehenden Screenshot wird die Konfiguration der Regeln visualisiert.

CSV-Transform: der extrahierte Wert (fileshare) muss case-sensitive matchen, somit sollte der path als Quell-Metadatum verwendet werden.

fileshare;letter

\\fileserver.mycompany.com\qa\fstest\projekte;U:

\\fileserver.mycompany.com\qa\fstest\vorlagen;T:

\\fileserver.mycompany.com\qa\fstest\allgemein;G:

\\fileserver.mycompany.com\qa\fstest\spezial;M:

\\fileserver.mycompany.com\qa\fstest\data\it;H:

\\fileserver.mycompany.com\qa\fstest\data;H:

\\fileserver.mycompany.com\qa\fstest\data-services;H:

\\fileserver.mycompany.com\qa\fstest\allgemein-retail;G:

Match auf mes:key geht in CSV-Transformation (sowie in ER-rules) nur mit: In Property = datasource/mes:key.

Achtung: /documents-Servlet liefert keine Werte die nur über Index Re-Invert entstehen!

Troubleshooting Entity RecognitionPermanenter Link zu dieser Überschrift

Dieses Kapitel beschäftigt sich mit dem Troubleshooting der Entity Recognition Regeln.

Wichtige HinweisePermanenter Link zu dieser Überschrift

  1. In Mindbreeze InSpire werden die regulären Ausdrücke zusätzlich mit einem „/“ umschlossen.
  2. Dabei muss jeder Regeleintrag durch einen Punkt getrennt sein.
  3. Regelnamen dürfen keine „_“ beinhalten
  4. Regeln sind greedy (gierig – matchen so viel wie möglich Achtung bei „.*“ bzw. „.+“ Konfigurationen)
  5. Regeln werden alphabetisch abgearbeitet (Groß-/Kleinschreibung beachten!)
    Zuerst kommen Großbuchstaben von A bis Z, danach Kleinbuchstaben a bis z.
  6. Trifft eine Regel einen Bereich, so kann keine zweite Regel treffen Annahme: Befindet sich sowohl in Gremium als auch in Schlagwort das Wort „Vorstand“, so wird nur das  Metadatum mit der Regel „Gremium“, das Wort „Vorstand“ beinhalten
  7. Entity Recognition Rules können nur pro Index, also über alle darin befindlichen Datenquellen angelegt werden.

IndexPermanenter Link zu dieser Überschrift

Index-Status prüfen über http://localhost:8443/index/<Indexport>/statistics

Privileged Servlets:Permanenter Link zu dieser Überschrift

  • Verbinden Sie sich zum Management Center
  • Navigieren Sie zum Index
  • Aktivieren Sie die Advanced Settings
  • Öffnen Sie den Index für den Sie Entity Recognition testen möchten
  • Deaktivieren Sie die Checkbox "Disable Unrestricted Privileged Servlets"
  • Anschließend speichern Sie die Einstellungen und Starten Sie sie Services neu
  • Nachdem die Services neugestartet sind:
    • Öffnen Sie https://yourappliance:8443/index/Indexport (In unseren Beispiel 23101/processitems) https://yourappliance:8443/index/23101/processitems
    • Auf dieser Seite können Sie die Regeln (Pattern-Rules) mit einer bestimmten Abfrage (z.B.: ALL) testen
    • Klicken Sie dazu nach dem Ausfüllen auf process. Wenn Sie Syntax der Regeln richtig ist, haben Sie nach Betätigung des Knopfes mehr Optionen zum Testen zur Verfügung.
    • Wählen Sie die Regel aus, die Sie matchen möchten und konfigurieren Sie die Werte der Regel(n).
    • Klicken Sie anschließend auf process, um das Testen der Regel(n) anzustoßen:

Deaktivierung von gierigen Verhalten der Entity Recognition RegelnPermanenter Link zu dieser Überschrift

Entity Recognition Regeln sind normalerweise gierig Im folgenden Beispiel werden die markierten Zeilen gematcht:

Regel

R1=/ (?s)(test)(?P<line>.+)\s+(.*Page) /.

Match:

Wird gierig deaktiviert würde jedoch nicht mehr alles gematchet werden, sondern nur jene Blöcke die mit test beginnen und mit Page enden:

Regel:

(?U)(?s)(test)(?P<line>.+)\s+(.*Page)(?U)

Match:

Häufige FehlerursachenPermanenter Link zu dieser Überschrift

Bei folgender Fehlermeldung ist ein Fehler beim Parsen der ER-Regeln aufgetreten:

“MesQuery::Text::RE2Tokenizer ERROR: Matched empty (epsilon) token, pattern is”

… z.B. wird ein „\“ am Ende einer Regex nicht unterstützt (LWPath=/\\\\[^\\]+\\/. … liefert Fehler besser: LWPath=/\\\\[^\\]+/ \\“.).

Eventuell kann es auch zu Problemen mit “.*“ in Regeln kommen.

Entity Recognition Rules werden in alphabetischer Reihenfolge ausgewertet und der erste vollständige Match gewinnt.

Regex-Rules nach deutschen Wörtern treffen mit \w nicht alle Zeichen (Umlaute, etc.). Stattdessen können Sie mit \pL alle Unicode-Buchstaben matchen.

Typische AnwendungsfällePermanenter Link zu dieser Überschrift

Personal InformationPermanenter Link zu dieser Überschrift

SVNRPermanenter Link zu dieser Überschrift

RegEx

\d{4}(\s|\.|\-)\d{6}

Example

1237 010180

1237.010180

1237-010180

Telephone numberPermanenter Link zu dieser Überschrift

RegEx

(\+)([\s.\(\)]*\d{1}){8,13}(-)?(\d{1,5})

Example

+43 732 606162-0

+43 732 606162-609

+49(732)606162-609

Number (With delimiters)Permanenter Link zu dieser Überschrift

RegEx

z1=/\d/.z2=/\d/. (…)Dlmtr=/[\s\-_.:]?/.

z1 Dlmtr z2 Dlmtr z3 Dlmtr z4 Dlmtr z5 Dlmtr z6.

Example

12-34567

12 34 56-7

1-2 3456.7

AmountPermanenter Link zu dieser Überschrift

RegEx

((\d{1,3}(\.(\d){3})*)|\d*)(,\d{1,2})

Example

0,84

100.000,49

100.000,00

1.000.000.000.000,00

DatumPermanenter Link zu dieser Überschrift

Handbuch zu den Datumsformaten: http://userguide.icu-project.org/formatparse/datetime

  • dd(.|-|/)MM(.|-|/)yyyy
    • RegEx
      ((0[1-9])|[1-9]|([1-3][0-9]))(\.|\/|-)((0[1-9])|[1-9]|10|11|12)(\.|\/|-)((19|20)\d{2})
    • Beispiel
      11.03.2014
      11.3.2014
      3.3.2014
      03.2.2010
      11/03/2014
      11/3/2014
      3/3/2014
      03/2/2010
      11-03-2014
      11-3-2014
      3-3-2014
      03-2-2010
  • dd. MMM yyyy
    • RegEx
      ((0[1-9])|[1-9]|([1-3][0-9]))\..(|Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember).((19|20)\d{2})
    • Example
      3. Jänner 2014
      4. Februar 2012
      30. November 2013
  • MMM yyyy
    • RegEx
      (Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember).((19|20)\d{2})
    • Example
      Februar 2014
      September 2014
  • MM(.|-|/)yyyy
    • RegEx
      (Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember).((19|20)\d{2})|((0[1-9])|[1-9]|10|11|12)(\.|\/|-)((19|20)\d{2})
    • Example
      03-2014
      03.2014
      03/2014
  • yyyy(.|-|/)mm(.|-|/)dd
    • RegEx
      ((19|20)\d{2})(\.|\/|-)((0[1-9])|[1-9]|10|11|12)(\.|\/|-)((([1-3][0-9]|0[1-9])|[1-9]))
    • Example
      2014-03-21

  • Datums-Regex Gesamt
    ((0[1-9])|[1-9]|([1-3][0-9]))(\.|\/|-)((0[1-9])|[1-9]|10|11|12)(\.|\/|-)((19|20)\d{2})|((0[1-9])|[1-9]|([1-3][0-9]))\..(Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember).((19|20)\d{2})|(Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember).((19|20)\d{2})|((0[1-9])|[1-9]|10|11|12)(\.|\/|-)((19|20)\d{2})|((19|20)\d{2})(\.|\/|-)((0[1-9])|[1-9]|10|11|12)(\.|\/|-)((([1-3][0-9]|0[1-9])|[1-9]))
  • Datums-Regex Gesamt II
    ((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))
  • Example
    31.12.2005
    12.12.12
    1.2.2003
    1.3.98
    04-05-2004

ZeitPermanenter Link zu dieser Überschrift

RegEx

(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?

Example

11:00:23

12:30

EmailPermanenter Link zu dieser Überschrift

RegEx

([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})

Example

david.porter@inspire.mindbreeze.com

egov@mindbreeze.com

IBANPermanenter Link zu dieser Überschrift

RegEx

AT\d{18}

Example

AT002105017000123456

Kommagetrennte Liste von InhaltenPermanenter Link zu dieser Überschrift

In diesem Beispiel wird eine Liste von Inhalten getrennt mit einem Beistrich als Liste in Mindbreeze interpretiert.

Input: Liste aus Wort, Wort,

Wert=/[^\s,][^,]*[^,\s]?/.

Regel= /\s*/ value /\s*(,\s*|$)/.

KataloganreicherungPermanenter Link zu dieser Überschrift

Es werden neue Metadaten zu einem Dokument hinzugefügt. Die neuen Metadaten werden mithilfe eines „Katalogs“ (z.B. CSV-Datei) erzeugt.

Hier werden folgende Möglichkeiten beschrieben:

  • Index CSV-Transformation (Funktionalität im Index bereits vorhanden)
  • HierarchicalCSVEnricher (separates ItemTransformation Plugin)
  • FileMetadataEnricher (separates ItemTransformation Plugin)

Index CSV-TransformationPermanenter Link zu dieser Überschrift

Dieser Abschnitt beschäftigt sich mit der Anreicherung der Metadaten mithilfe eines CSV-Files. Dabei ist es möglich einen Wert eines Metadatums mit einen Wert einer bestimmten Spalte im CSV zu vergleichen. Stimmt der Wert aus dem Metadatum dem Wert aus der Spalte überein kann man den Wert einer anderen Spalte aus derselben Zeile in ein neues Metadatum schreiben und dem Resultat anfügen.

Einrichtung der CSV-TransformationPermanenter Link zu dieser Überschrift

Dieses Kapitel beschäftigt sich mit der Einrichtung von CSV Transformation anhand eines konkreten Beispiels. Für die Konfiguration müssen folgende Schritte durchgeführt werden:

Verbinden sie sich zum Managementcenter ( Default: https://IhreAppliance:8443 )

Navigieren sie zum Indices Tab, aktivieren sie die Advanced Settings und Erweitern sie den gewünschten Index

Suchen sich nach der Einstellung CSV Transformation und richten sie die Funktion wie im nachstehenden Beispiel ein

 Example:

CSV File Path: Pfad des von ihnen kopierten CSV-Files am Server

If Expression Matches: Name der Spalte im CSV, die mit einem Wert eines Metadatums überein stimmen muss damit die Tranformation

In Property: Das existierende Metadatum, dass mit dem Wert aus der Spalte im CSV verglichen werden soll

Name: Name des Metadatums das den neuen angereicherten Wert enthalten soll

Value: Name der Spalte, deren Wert in das neue Metadatum „Name“ geschrieben werden soll um das Resultat damit anzureichern

Kopieren sie ein beliebiges CSV-File in das Verzeichnis /data/ auf ihre Mindbreeze InSpire

Wie funktioniert es:Permanenter Link zu dieser Überschrift

Der Wert des existierenden Metadatums(medication) wird mit dem Wert aus der Spalte Medikament verglichen. Wurde eine Zeile gefunden bei der diese beiden Werte äquivalent sind, so wird der Wert aus der Spalte ATC_CODE extrahiert und dem Metadatum ATC_CODE angehängt.

Änderungen im CSV-File mittels TabellenverarbeitungsprogrammPermanenter Link zu dieser Überschrift

Bearbeiten sie das CSV mit einem Tabellenverarbeitungsprogramm, wie zum Beispiel Excel, müssen sie sicherstellen, dass das CSV nach der Bearbeitung immer noch im Format UTF8 und nicht UTF8-BOM ist.

Dies können sie mit einem beliebigen Texteditor wie zum Beispiel Notepad++ überprüfen und gegebenenfalls zurück in das Format UTF8 umwandeln.

ItemTransformer.HierarchicalCsvEnricherPermanenter Link zu dieser Überschrift

EinleitungPermanenter Link zu dieser Überschrift

Dieses Plugin annotiert in PDF Dokumente spezielle Wörter, die in einer CSV-Datei angegeben sind. Diese annotierten Wörter (Matches) werden in der PDF-Vorschau als klickbare Hyperlinks dargestellt. An diesen Hyperlinks können in einen Custom-Client eigene Aktionen gekoppelt werden. Beispielsweise kann bei einem Mouse-Over über ein spezielles Wort eine Erklärung als Tool Tipp eingeblendet werden. Zusätzlich kann das Plugin für Matches Metadaten generieren.

InstallationPermanenter Link zu dieser Überschrift

Um das Plugin zu nutzen, muss das MetadataTransformationService Plugin zu Ihrer Mindbreeze-Installation hinzugefügt werden, indem das entsprechende Plugin geladen wird.

  • Installieren Sie das Plugin (entweder mit der Manager UI oder mit dem Kommandozeilenwerkzeug mesextension)

mesextension --interface=plugin --type=archive --file=MetadataTransformationService -<version>.zip install

KonfigurationPermanenter Link zu dieser Überschrift

Das Plugin wird grundsätzlich als eigenständiger Service gestartet. (Ähnlich zu Caching Principal Resolution Services). In den Indices werden Referenzen auf den Service konfiguriert. Das Plugin selbst im Abschnitt Services konfiguriert:

  • Aktivieren Sie das Plugin für jeden gewünschten Index mithilfe der Manager UI:
    • Wechseln Sie zum Reiter „Indices“ und aktivieren Sie „Advanced Settings
    • Scrollen Sie runter zum Abschnitt „Services”
    • Wählen Sie das Plugin “ItemTransformationServicePlugin.HierarchicalCsvEnricher“ aus und klicken Sie auf „Add“

GrundeinstellungenPermanenter Link zu dieser Überschrift

„Display Name“

Für eine einfache Zuordnung zum Index wählen Sie hier einen möglichst sprechenden Namen.

„Nodes“

Wählen Sie die Node aus, auf dem der Service laufen soll. Nur Indices auf demselben Node können den Service nutzen.

„Bind port“

Ein freier TCP-Port, welcher von keinen anderen Service belegt ist.

„Max Threads“

Die maximale Anzahl von Threads, welche der Service beim Abarbeiten von Anfragen benutzen darf.

CSV Transformation ConfigurationPermanenter Link zu dieser Überschrift

„CSV File Path“

Pfade zu den CSV Dateien. In der ersten Zeile der CSV Datei werden Spaltenbeschriftungen erwartet. Mit dem Knopf „Add“ können mehrere CSV Dateien hinzugefügt werden. Die CSV Dateien werden nach einer Änderung automatisch neu eingelesen.

„CSV Delimiter Character“

Das CSV Trennzeichen. Ein Buchstabe. (Üblicherweise Semikolon ; )

„Term Colum Name“

Name der CSV Spalte, welche für das „Matching“ in den Dokumenten verwendet wird.

„Source Metadata Name“

Bestimmt das Metadatum, aus dem der Text für das „Matching“ stammt. Wenn diese Einstellung leer ist, so wird der Text des Dokuments für das „Matching“ verwendet (Standard).

„Enable Build Hierarchy“

Das Plugin kann damit in einen Hierarchie-Modus geschaltet werden. Dazu muss das CSV eine Eltern-Kind-Beziehung zwischen den Einträgen besitzen, welche über eine weitere Spalte, die zum Eltern-Eintrag zeigt abgebildet ist. Als Metadatum-Wert wird dann die Hierarchie selbst verwendet.

„Parent Column Name“

Name der CSV Spalte, die zum Eltern-Eintrag (dort die Term Column) zeigt. (nur Hierarchie-Modus)

„Skip Root Element“

Wenn aktiviert, wird die Wurzel der Hierarchie nicht zum Metadatum-Wert hinzugefügt.

„Target Metadata Name“

Name des Metadatums, welches erzeugt wird.

Target Metadata Value Pattern

Vorlage-Muster, aus dem der Wert des Metadatums erzeugt wird. Es können in Platzhalter die CSV-Spaltennamen in doppelt geschwungenen Klammern verwendet werden. Z.B.: {{Term Name}} (nicht Hierarchie-Modus)

„Merge Strategy“

Hier kann die Lösungsstrategie definiert werden, falls es schon ein Metadatum mit dem gleichen Namen gibt. Entweder „Keep Existing“ oder „Overwrite Existing“

„Target Metadata Item Name“

Name des „Item“ Metadatums. Das Plugin kann zusätzlich ein komplexes Metadatum erzeugen, welches für alle Matches die zugehörigen CSV-Einträge beinhaltet. Zusätzlich werden für jeden CSV-Eintrag eine Liste von Vorkommnissen mit Properties geführt.

„Target Metadata Item Default Properties“

Hier können für das Metadata Item die Standardwerte der Properties im Vorkommnis definiert werden. Die Properties werden als eine Komma-getrennte Liste von Key-Value Paaren konfiguriert, wobei die Key-Value Paare mit einem Gleichheitszeichen getrennt werden. Z.B. name=bob,person=true

„Link HREF Pattern“

Vorlage-Muster, aus dem die URL erzeugt wird, mit der das PDF-Dokument annotiert wird. Es können in Platzhalter die CSV-Spaltennamen in doppelt geschwungenen Klammern verwendet werden. Z.B.: http://www.example.com/{{Term Name}} Hinweis: die URL muss valide sein. Der Wert des Platzhalters wird URL-encoded. Damit die URL auch in der PDF Vorschau angezeigt wird, muss in den Einstellungen des jeweiligen Index bei „Aggregated Metadata Keys“ der Wert @content hinzugefügt werden.

„Enable Stemmer“

Aktiviert den Stemmer. Dadurch erhöht sich die Matching-Anzahl, da auch die abgewandelte Formen von Wörtern Matches erzeugen.

„Stemmer Language“

Sprache des Stemmers. Z.B. german, english, russian

„Stemmer Skip Short Roots Length”

Beim Einsatz des Stemmers können False-Positive Matches entstehen, wenn Wörter in der Stammform zu kurz werden. Diese Einstellung bestimmt, dass bei sehr kurzen Stammformen der Stemmer nicht verwendet wird. Definiert wird die minimale Länge der Stammform, ab der der Stemmer nicht mehr verwendet wird.

„Stopword Vocabulary Path”

Pfad zu einer Textdatei mit Stoppwörter. Stoppwörter werden ignoriert und übersprungen. In der Textdatei gilt ein Wort pro Zeile. Case-sensitiv.

Replacement Patterns”

Ersetzungsregeln um beliebige Zeichenketten mit einer anderen Zeichenregel zu ersetzen. Eine Regel pro Zeile. Eine Regel besteht aus zwei Teilen, die mit der Zeichenfolge |> getrennt werden. Die linke Seite ist ein regulärer Ausdruck (Java), die rechte Seite ist eine beliebige Zeichenfolge. Z.B. (?i:ö)|>oe Ersetzt das Zeichen ö mit der Zeichenkette oe.

„Attributes”

Regeln, um unter bestimmten Bedingungen Properties zu den Metadaten hinzuzufügen. Siehe nächster Abschnitt.

Filter Patterns”

Regeln aus regulären Ausdrücken (Java), um Matches zu entfernen. Wird verwendet um False-Positives zu entfernen. Eine Regel pro Zeile. Eine Regel besteht aus bis zu drei Teilen. Die Teile werden getrennt mit <| und |> . Die drei Teile entsprechen einem „Prefix“-, „Infix“- und „Postfix“-Ausdruck von regulären Ausdrücken, die rund um einen Match angewendet werden. Treffen alle angegebenen Ausdrücke zu, dann ist die Regel aktiv und der Match wird entfernt. Z.B. die Regel John\s$<|^Joe$|>^\sDoe entfernt den Match „Joe“, wenn er im Zusammenhang z.B.: „His name is John Joe Doe, she said. vorkommt. Zur Vereinfachung können Teile der Regel auch weggelassen werden. Z.B. sind folgende Regeln auch erlaubt: ^Joe$|>^\sDoe oder John\s$<| Die Regeln sind Case-sensitiv.

AttributesPermanenter Link zu dieser Überschrift

Basierend auf Regel aus regulären Ausdrücken können bei Matches Metadaten modifiziert werden. Fügen Sie Attributes mit dem Plus-Symbol hinzu.

„PatternPosition“

Die Regel gilt unmittelbar vor dem eigentlichen Match („Prefix“) oder unmittelbar nach dem eigentlichen Match („Postfix“)

Patterns

Liste von regulären Ausdrücken (Java). Ein Ausdruck pro Zeile. Die regulären Ausdrücke werden direkt vor („Prefix“) oder nach („Postfix“) dem eigentlichen Match angewendet. Stimmt ein Ausdruck überein, ist die Regel aktiv. Die Regeln sind Case-insensitive. Z.B. wird die Regel no\s+$ beim Match „animal“ aktiv, wenn es im folgenden Kontext auftritt: no animal was hurt.“

„Add Metadatum Name“

Ist die Regel aktiv, wird ein Metadatum mit diesem Namen erzeugt. Der Wert des Metadatums ist derselbe wie in „Target Metadata“.

„Append HREF Value“

Ist die Regel aktiv, wird diese Zeichenkette an das „Link HREF Pattern“ angehängt. Hinweis: die URL muss dadurch valide bleiben. Es wird kein automatisches URL-Escaping durchgeführt.

„Target Metadata Item Properties“

Ist die Regel aktiv, werden diese Properties zum Metadata Item im Vorkommnis hinzugefügt bzw. überschrieben. Die Properties werden als eine Komma-getrennte Liste von Key-Value Paaren konfiguriert, wobei die Key-Value Paare mit einem Gleichheitszeichen getrennt werden. Z.B. name=printer,person=false

Index KonfigurationPermanenter Link zu dieser Überschrift

Damit der Index den konfigurierten Service auch verwendet, muss in den Indexeinstellungen im Bereich „Item Transformation Services“ der Service referenziert werden. Klicken Sie dazu auf „Add“ und wählen den von Ihnen benannten Service aus.“ Es wird automatisch eine Property „launchedserviceid“ erstellt, diese brauchen Sie nicht zu ändern.

Verwendung als ContentFilter ServicePermanenter Link zu dieser Überschrift

Mit der Installation des MetadataTransformationService-Plugins wird auch ein Filter Plugin „FilterPlugin.HierarchicalCsvEnricher“ registriert, welches für die Erweiterung „textcatalogenricher“ aktiviert werden kann. Navigieren Sie dazu in den Einstellungen ins „Filter“-Tab. Die Konfiguration geschieht analog zum „ItemTransformer.HierarchicalCsvEnricher“-Plugin. Es müssen folgende Metadaten im Filter-Request gesetzt werden:

„extension“

Muss auf „textcatalogenricher“ gesetzt werden

„contentextension“

Bestimmt die Erweiterung, welche das Plugin nach der Verarbeitung setzt. Z.B. „txt“

Aktivieren Sie die „Advanced Settings“ und fügen sie unter „Global Filter Plugin Properties“ Einstellungen für das „FilterPlugin.HierarchicalCsvEnricher – Plugin“ hinzu.

File Metadata EnricherPermanenter Link zu dieser Überschrift

Dieses Kapitel beschäftigt sich mit der Verwendung des File Metadata Enrichers. Dieses Plugin ermöglicht es indizierte Dokumente (z.B.: PDF-Dateien) mit externen Quellen wie einem XML-File oder einem CSV-File anzureichern. Dabei wird in diesem Kapitel zwischen XML File Metadata Enrichment und Catalog Settings unterschieden.

AktivierungPermanenter Link zu dieser Überschrift

Der File Metadata Enricher ist als ItemTransformationService Plugin und als PostFilter Plugin verfügbar.

Als Item Transformation Service kann für ein Index Service konfiguriert werden:

Als Post Filter Plugin kann der File Metadata Enricher für ein Filter konfiguriert werden. Die Transformation passiert dann nach filtern.

XML File Metadata EnrichmentPermanenter Link zu dieser Überschrift

Dieser Mechanismus ist dem Mechanismus der CSV Transformation sehr ähnlich. Im Wesentlichen handelt es sich hierbei um die Möglichkeit einen Wert eines Metadatums mit dem Wert in einem XML-File zu vergleichen. Gibt es Beispielsweise in einer Datenquelle eine Datei mit Inhalten (z.B.: mindbreeze.pdf) und eine Datei die separat die Metadaten enthält (Bsp.: mindbreeze.xml), können diese in einem Resultat verschmolzen werden um den Inhalt mit den Metadaten zu verknüpfen. Dieser Mechanismus wird anhand des nachstehenden Beispiels näher erläutert:

Beispiel KonfigurationPermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

File Path Source: Name eines Metadatums, welches als Quelle für die Anreicherung verwendet wird. Zum Beispiel kann ein Metadatum verwendet werden, das den Pfad des aktuellen Resultats enthält. Dies ist beim Microsoft File Connector zum Beispiel datasource/mes:key, das smb://myserver/testdaten/Content/ enthält.

File Path Pattern: Schränkt en Anwendungsbereich des Enrichers ein. Alle Resultate, deren mes:key-Werte nicht dem Regex aus File Path Pattern gleichen werden ignoriert Der Enricher wird nicht angewendet.

File Path Replacement: Hier wird jener Pfad angegeben der die Metadaten einer Datei enthält. Die Dateien müssen dabei lokal auf der Appliance liegen oder zumindest auf dieser gemountet sein. Hier ist es möglich einen matching Value des bei File Path Pattern angegebenen Regex als Variable zu referenzieren. Dabei können die matchenden Gruppen (REGEX) mit $1 aufsteigend referenziert werden (Bsp.: $1,$2,$3,..). Die Gruppe (.*) kann daher mit $1 referenziert werden. In unseren Fall wird der Name des Files aus dem aus dem String der dem File Path Pattern matched extrahiert.

Metadata Node XPath: Jeder XML Node der durch dieses XPATH gemacht wird, wird vom Enricher als ein Objekt mit Metadaten interpretiert.

Metadata Key XPath: Der String der von diesem XPATH Ausdruck gematched wird, wird vom Enricher als Name für das neue Metadatum verwendet.

Metadata Value XPath: Der String der von diesem XPATH Ausdruck gematched wird, wird vom Enricher als Wert des neuen Metadatums verwendet.

Date Format: Wird hier im Java Simple Date Format ein Format angegeben versucht der Enricher jeden String der von Metadata Value XPath gematched wird als Datum im Angegebenen Format zu interpretieren um die gesamte Funktionalität des Mindbreeze Datumformates zur Verfügung zu stellen. Ist der String nicht im angegebenen Format führt der Enricher ein Fallback durch und interpretiert den matchenden String als String.

Beispiel:Permanenter Link zu dieser Überschrift

In diesem Kapitel wird anhand eines konkreten Beispiels der Enricher erläutert.

ConfigPermanenter Link zu dieser Überschrift

XML-Datei (1.xml)Permanenter Link zu dieser Überschrift

<?xml version="1.0" encoding="utf-8"?>

<Document>

<UserID>4711_12</UserID>

<DocID>PDF_4711_12_CV_001.pdf</DocID>

<DocType>CV</DocType>

</Document>

ErklärungPermanenter Link zu dieser Überschrift

Für jedes Resultat das für den Index auf dem der Metadata Enricher Konfiguriert wurde wird das Metadatum datasource/mes:key falls es dem Regex aus File Path Pattern entspricht mit allen lokalen oder gemounteten Filenamen aus dem Pfad File Path Replacement verglichen. Dabei wird der Dateiname der beim File Path Pattern als Regex Gruppe definiert wurde im File Path Replacement an der Referenzstelle eingesetzt.

Beispiel:

Quelldatei: …/1.pdf File Path Replacement: …/1.xml

Stimmen die Pfade überein so wird im .xml nach dem XML-Node /<Document>/* gesucht. und alle Kind-Nodes des Knotens als relevante Information interpretiert. Der Name des Knotens wird dabei als Metadatumname des neuen zu erstellenden Metadatums interpretiert. Ist im aktuellen Kind-Node ein text() enthalten wird dieser als Wert für das neu erstelle Metadatum gesetzt und das Metadatum den aktuellen Resultat im Index angeheftet.

Beispiel:

In unserem Fall würde daher der bereits indizierten Datei 1.pdf folgende Metadaten angeheftet werden

UserID: 4711_12

DocID: PDF_4711_12_CV_001.pdf

DocType: CV

Catalog SettingsPermanenter Link zu dieser Überschrift

Bei diesem Mechanismus wird eine CSV-Datei wie zum Anreichern verwendet. Dabei wird wie auch bei CSV-Transformation Information aus Mindbreeze mit dem Wert einer Spalte im CSV verglichen. Im Gegensatz zu CSV Transformation kann das Metadatum zum Vergleichen nicht gewählt werden, da das Plugin aktiv im Inhalt (content) des Files nach Übereinstimmungen sucht. Eine weitere wichtige Funktion des Plugins ist die Erkennung der Negationen. Gibt es Beispielsweise die Übereinstimmung Nierenversagen, jedoch kommt in einem Text Kein Nierenversagen vor, so wird Nierenversagen als Negation in einem eigenen Metadatum am Resultat angeheftet. weiteren ermöglicht dieses Feature, dass automatische Links hinter den Treffern angeheftet und in der PDF-Vorschau visualisiert werden. Die detaillierte Funktionsweise dieser Funktion wird im nachstehenden Abschnitt erläutert.

Beispiel KonfigurationPermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

Catalog File: Diese Einstellung beinhaltet den Pfad der CSV-Datei die zur Anreicherung verwendet werden soll. Die Datei muss dabei lokal auf der Mindbreeze InSpire Appliance oder auf dieser gemounted vorzufinden sein.

Catalog Match On: Diese Einstellung gibt an welche Spalte des CSV-Files mit der Information aus dem Inhalt der Resultate verglichen wird um eine Übereinstimmung zu erkennen.

Extract Metadata: In diesem Feld wird der Name des Metadatums angegeben in das der Text der Spalte Metadata Value bei Übereinstimmung eingefügt wird. Das Metadatum wird zum Resultat angeheftet.

Extract Negated Metadata: Bei dieser Einstellung legen sie den Namen des Metadatums fest das den Text der Spalte Metadata Value bei Übereinstimmung im Falle einer Negation beinhaltet. Dieses Metadatum wird dem Resultat angeheftet. Dabei muss die Übereinstimmung wie folgt erkannt werden:

Negation Prefix Pattern + Catalog Match On (String zur Übereinstimmung) + Negation Postfix Pattern

Extract Metadata Item: Dieses Metadataum enthält eine strukturierte Form des gesamten angewendeten CSVs. Dieses Metadatum ist nicht als Filter vorgesehen und dient lediglich Unterstützung für die Entwicklung von Suchanwendungen.

Metadata Value: In diesem Feld muss der Spaltenname des in der Einstellung Catalog File definierten CSVs angegeben werden. Stimmt der Wert der Spalte Catalog Match On mit dem aktuell aus dem Inhalt des Resultates verglichenen String überein, so wird der Wert der Spalte die im Feld Medata Value angegeben wird als String in das Metadatum Extract Metadata angefügt.

Link HREF Pattern: In dieser Einstellung kann ein Link mithilfe der extrahierten Metadaten zusammengebaut werden. Dieser Link ist anschließend in der PDF-Vorschau des Clients verfügbar. Dieser Link kann vom Entwickler der Suchanwendung interpretiert werden. Das Format des Links kann dabei wie folgt angegeben werden:

https://entity.mindbreeze.com/?code={{pt_code}}

Hierbei wird Anstelle des Platzhalters {{pt_code}} der tatsächlich extrahierte Wert, der Spalte pt_code aus dem CSV zur Invertierungszeit eingefügt.

Catalog ID Column: In dieser Einstellung wird festgelegt welche Spalte des CSV-Files eindeutig ist. Dies wird von Mindbreeze intern verwendet.

Sentence Split Pattern: Diese Einstellung dient dazu den Inhalt eines Satzes in Satzteile zu unterteilen. Der Enricher wird dabei nur bei jenen Satzteilen angewendet, die mit dem hier angeführten Regulären Ausdruck übereinstimmen.

Negation Prefix Pattern: Dieses Pattern gibt den Prefix (meist Text) an, der verwendet werden soll um eine Negation zu erkennen. Bei der Syntax handelt es sich auch hier wiederum um die Syntax der Regulären Ausdrücke.

Negation Postfix Pattern: Dieses Pattern gibt den Postfix (meist Text) an, der verwendet werden soll um eine Negation zu erkennen. Bei der Syntax handelt es sich auch hier wiederum um die Syntax der Regulären Ausdrücke.

Replacement Patterns: Dieses Feld ermöglicht bestimmte Vorkommnisse von Wörten, Sätzen oder Buchstaben synonym für den Enricher zu setzen. So ist es beispielsweise möglich, dass ä auch ae sein kann und ae auch ä sein kann. Die Syntax dafür ist kann im folgenden Beispiel eingesehen werden:

(?i:ä|ae)|>(ä|ae)

(?i:ae|ä)|>(ae|ä)

|>… Wird als Trennzeichen verwendet. Jede Regel muss dabei als separat in eine Zeile im Konfigurationsfeld eingeben werden.

Verwendung der neuen MetadatenPermanenter Link zu dieser Überschrift

In dieser Dokumentation ist ersichtlich wie die Metadaten in der PDF-Vorschau beim Entwickeln von Suchanwendungen verwendet werden können: Development of search applications