Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels. Version 2017 Winter Release

Ähnliche Dokumente
SharePoint Online Connector

LDAP Connector. Installation und Konfiguration. Version 2017 Summer Release

Benachrichtigungen. Installation und Konfiguration. Version 2017 Summer Release

IBM Lotus Connector. Installation und Konfiguration. Version 2016 Fall Release

Atlassian Confluence Sitemap Generator Add-On

Microsoft File Connector (Legacy)

app.telemetry Statistiken zu Suchanfragen ad-hoc Reports und Statistik Dashboard Charts Version 2017 Summer Release

Einrichten der Mindbreeze InSpire Appliance Setzen einer statischen Netzwerkadresse von einem Microsoft Windows PC. Version 2017 Summer Release

Kerberos Authentifizierung

Mindbreeze Web Parts. für Microsoft SharePoint. Version 2016 Fall Release

EMC Documentum Connector

Vokabulare für Synonyme und Autovervollständigung. Version 2016 Fall Release

JiveSoftware Jive Connector

Google Search Appliance Feed Indizierung mit Mindbreeze InSpire

Tastaturbedienung. Version 2016 Fall Release Status: 04. Mai 2016

Konfiguration des Novell GroupWise Connectors

Konfiguration von Fabasoft Mindbreeze Enterprise für IBM Lotus

Konfiguration des Web Connectors

Indizierungs- und Suchlogs. Version 2015

Softwareproduktinformation

White Paper. Installation und Konfiguration der Fabasoft Integration für CalDAV

OP-LOG

SQL Server 2016 Installationsanleitung

Zeiterfassung-Konnektor Handbuch

SQL Server 2014 Installationsanleitung

SQL Server 2012 Express

Microsoft Exchange 2010 Connector

Entity Recognition. Konfiguration. Version 2017 Summer Release

SCHÄF SYSTEMTECHNIK GMBH 05/10 HANDBUCH

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution

Datenbank auf neuen Server kopieren

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

TeamDrive Outlook-Plugin für Windows

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen mit SQL Server-Daten

Technische Informationen

Oracle9i Designer. Rainer Willems. Page 1. Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH

ERSTELLUNG EINES DATENEXPORTS MIT ORGAMAX

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen zu SQL Server Analysis Services-Daten

Pervasive.SQL ODBC Treiber. ab ABACUS er-Version Installationsanleitung

Quick Installation Guide Schnellinstallationsanleitung Deutsch

Installationsanleitung

SMARTtill Server mit Manager

Elasticsearch und die Oracle Datenbank

FAQ Kommunikation über PROFIBUS

Tutorial 7 TEIL 1/2. Untersuchung von ebusiness Anwendungen auf der Basis des IBM WebSphere Developer V 7.0

AristaFlow BPM Suit Installation

Quick Installation Guide Schnellinstallationsanleitung Deutsch

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Eclipse Tomcat Plugin Starthilfe

SchildNRW mit Anbindung an eine MySQL-Datenbank Stand Februar 2017 (Martin Roß)

Wie lege ich Benutzerdefinierte Datenfelder auf einem Asta Enterprise 12 Server (für PowerConnect) an?

Projekt Weblog :: Integration

Installation von Microsoft SQL Server 2014 Express in Verbindung mit Postbuch

Installation von ib-normcad 11 unter rz-industriebau 2012

Kurzanleitung Eclipse

untermstrich SYNC Handbuch

Whitepaper. Produkt: combit Relationship Manager. HowTo: Microsoft SQL Server Datenbank verschlüsseln. combit GmbH Untere Laube Konstanz

SAP Business One Adapter

Installationsanleitung MS SQL Server für Sage 50 Ablage & Auftragsbearbeitung. Sage Schweiz AG D4 Platz 10 CH-6039 Root Längenbold

Innovator 2009 excellence. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Roland Patka.

elux Live-Stick Erstellen und Anpassen

TimeMachine. Installation und Konfiguration. Version 1.4. Stand Dokument: install.odt. Berger EDV Service Tulbeckstr.

Installation des Microsoft SQL Server (Express) für ADITO4 AID 063 DE

Release Notes für Mindbreeze InSpire. Version 2015 Summer Release

Installationsanleitung Laurus Projekte System (Aufgaben / Projekte mit Gantt Chart)

14. Es ist alles Ansichtssache

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:

Kurzanleitung für den MyDrive Client

BSCW-Benutzung Kurze Einführung

Verbinden von IBM Informix mit Openoffice mittels JDBC

White Paper. Domänenübergreifende Lizenzprüfung Winter Release

1.1 Features der Software Folgende Änderungen bzw. Neuerungen sind gegenüber der alten KPS-Lite 2009 Software enthalten:

Die SQL-Schnittstelle

Konfiguration von Trusted Peer Authentication für die Mindbreeze Search Appliance. Version 2017 Summer Release

Technische Informationen

Web Connector. Installation und Konfiguration. Version 2016 Fall Release

1 Verschlüsselung von Ordnern in ein Archiv über das Kontextmenü

Dell Client Management Pack-Version 6.0 für Microsoft System Center Operations Manager Installationsanleitung

Installationsanleitung BalticScore 3.0

1 Dateien über das Kontextmenü in ein Archiv verschlüsseln

Einrichten der TSM-Backup-Software unter dem Betriebssystem Windows

TeamViewer Handbuch MSI

1 Einführung 1. 2 Einrichten der Arbeitsumgebung 9. 3 Schnelleinstieg in Xcode und Objective-C 25

Typo 3 installieren. Schritt 1: Download von Typo3

SQL Server Installation

SELEKTIONSANLEITUNG ANGRILLEN 2015 VERSION: 1.0 DATUM: AUTOR: VKO

Update-Anleitung Tarmed 1.08_BR per

Safexpert Installation

White Paper. Installation und Konfiguration der PVP Integration

Bitte beachten Sie: Diese Anleitung kann auch für die Installation der Version 10.0 verwendet werden.

Psi unter Microsoft Windows benutzen

SMARTentry Notification

Upgrade-Leitfaden. Apparo Fast Edit. Wechsel von Version 2 auf Version 3 1 / 10

So geht s Schritt-für-Schritt-Anleitung

xdsl Privat unter Windows 98 SE

Die SQL-Schnittstelle

Telephone Integration für Microsoft CRM 4.0 (TI für MS CRM 4) Server

PHP- Umgang mit Datenbanken (1)

Ausfüllen von PDF-Formularen direkt im Webbrowser Installation und Konfiguration von Adobe Reader

Transkript:

Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels Version 2017 Winter Release Status: 28. März 2017

Copyright Mindbreeze GmbH, A-4020 Linz, 2017. 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. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 2

Table of Contents 1 Einführung 4 1.1 Vorbereitung 4 1.2 Voraussetzungen auf dem Microsoft SQL Server 4 1.3 Beschreibung des Beispiels 4 2 Konfiguration des Talend Job zur Datenintegration 5 2.1 Einrichten der Datenbankverbindung 6 2.2 Importieren des Tabellen-Schemas der Datenbank 7 2.3 Konfiguration des Talend Job 9 2.3.1 Einrichten des SQL-Inputs 9 2.3.2 Einrichten des Mindbreeze Index-Outputs 10 2.3.3 Einrichten des Column Mappings (tmap) 11 2.4 Exportieren des Talend Jobs 14 3 Konfiguration von Mindbreeze 16 3.1 Anpassen der categorydescriptor.xml 17 3.1.1 Hinzufügen von eigenen Metadaten Spalten 18 3.1.2 Ersetzen der Icons 18 3.1.3 Hinzufügen von benutzerdefinierten Actions 18 4 Fehlerbehebung 20 4.1 Talend Job Probleme 20 4.1.1 Talend Job Test Run läuft nicht 20 4.1.2 Datentypfehler 20 4.2 Probleme mit Mindbreeze Suchergebnissen 21 4.2.1 Keine Suchergebnisse 21 4.2.2 Keine Inhalte in den Suchergebnissen 21 4.2.3 Properties werden in den Suchergebnissen nicht angezeigt 21 5 Anhang 22 5.1 categorydescriptor.xml 22 Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 3

1 Einführung Dieses Handbuch soll helfen, um eine SQL Datenbanktabelle in Mindbreeze Enterprise Search zu integrieren. Mithilfe einer Demo-Datenbanktabelle, die auf einem Microsoft SQL Server gehostet ist, soll der Prozess des Aufsetzens eines Talend Job in diesem Dokument gezeigt werden. Am Ende des Handbuchs werden noch Tipps zur Fehlerbehebung gezeigt. 1.1 Vorbereitung Um das Beispiel zum Laufen zu bringen, müssen folgende Vorbedingungen erfüllt sein: Mindbreeze-Installation ist vorhanden (dieses Beispiel wird auf einer Mindbreeze-Installation gezeigt, die auf Microsoft Windows läuft). Die Mindbreeze-Lizenz beinhaltet den Data Integration Connector. Talend Open Studio >= 5.0.2 (selbe Version wie auf der Mindbreeze Inspire Appliance) mit der Konfiguration der Mindbreeze User Components wird benötigt. Für Details siehe Handbuch Konfiguration Data Integration Connector. Ein erreichbarer Microsoft SQL Server, der die zu crawlende Datenbanktabelle beinhaltet, ist verfügbar. Der SQL Service-Benutzer kann sich zum Microsoft SQL Server verbinden und hat Leserechte in der gewünschten Datenbank. 1.2 Voraussetzungen auf dem Microsoft SQL Server Um sich vom Talend Open Studio aus mit dem Microsoft SQL Server verbinden zu können, müssen folgende Verbindungs-Eigenschaften (Connection-Properties) eingeschaltet werden: SQL Server Browser (dieses Service muss laufen und wird gebraucht, um Datenbank-Schemas zu erhalten) SQL Server Protocols: TCP/IP (dieses Protokoll wird benötigt, um sich vom Talend Connector aus verbinden zu können). SQL Server Authentication: der SQL Server Authentication mode wird benötigt, um sich vom Talend Connect aus verbinden zu können). Der Service-Benutzer, der zum Verbinden zur SQL Datenbank um Daten zu crawlen benutzt wird, muss Login-Rechte und vollen Lesezugriff in der Zieldatenbank besitzen (zumindest Select - und View Definition -Rechte in der Zieltabelle). 1.3 Beschreibung des Beispiels Die in diesem Handbuch verwendete Beispiels-Datenbanktabelle supportticket ist dafür bestimmt, Basisdaten für Support-Tickets zu speichern und ist am SQL Server folgendermaßen definiert: Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 4

2 Konfiguration des Talend Job zur Datenintegration Nachdem alle Vorbedingungen erfüllt sind, können Sie damit anfangen, einen neuen Talend Job zum Crawlen der SQL Datenbanktabelle und das Abbilden der benötigten Tabellenspalten auf die extrahierten Metadatenattribute für die Mindbreeze Suche zu erstellen. Starten Sie das Talend Open Studio for Data Integration (z.b. C:\TOS_DI-r78327-V5.0.2\TOS_DIwin-x86_64.exe). Öffnen Sie entweder ein existierendes Mindbreeze Demo Projekt (von der Mindbreeze InSpire Appliance) oder erstellen Sie ein neues Projekt. Der nächste Schritt ist, einen neuen Job zu erstellen (definieren Sie die Input Source, das Column Mapping und die resultierenden Output Properties) und spezifizieren sie den Job Namen. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 5

2.1 Einrichten der Datenbankverbindung Erstellen Sie eine neue Datenbankverbindung zu Ihrem Microsoft SQL Server, indem Sie im Repository Fenster zu Metadata > db Connections navigieren und vom Kontextmenü den Eintrag Create connection auswählen. Weisen Sie anschließend einen Verbindungsnamen zu (ohne Leerund Sonderzeichen). Wählen sie den DB Type Microsoft SQL Server und füllen Sie die Verbindungseigenschaften aus: Login: <mytestuser> Password: <mypassword> Server: localhost Port: 1433 Database: <testdb> Schema: (blank) Additional parameters: instance=sqlexpress Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 6

Nun können Sie die Verbindung mithilfe der Schaltfläche Check testen. 2.2 Importieren des Tabellen-Schemas der Datenbank Der nächste Schritt ist, das Tabellen-Schema der Datenbank für die gewünschte Tabelle (supportticket) zu importieren. Wählen Sie Retrieve Schema vom Kontextmenü Ihrer Datenbankverbindung aus. Sie können alle Filtereinschränkungen (Filter Descriptions) auslassen und mit Next zum Abschnitt des Tabellen Schemas der Datenbanktabelle fortfahren. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 7

Nachdem sie ein Schema für eine Tabelle ausgewählt und die Schaltfläche Finish bestätigt haben, wird dieses importiert und ist als Daten-Input-Quelle für den Job in Table schemas Ihrer DB Connections sichtbar. Sie sollten die Datentypen der Spalten in der Schemadefinition kontrollieren und möglicherweise anpassen (speziell für die Datentypen date und datetime), indem Sie das Schema editieren ( Edit Schema vom Kontextmenü). Überprüfen Sie, ob das Datum-Parser-Format für die Werte aus der Datenbank korrekt sind und ändern Sie gegebenenfalls das Date Pattern. In unserem Beispiel müssen wir das Date Pattern vom Standardwert dd-mm-yyyy auf das Pattern der Datenrepräsentation in unserer Datenbanktabelle (wie im obigen Screenshot zu sehen ist) ändern: yyyy-mm-dd. Der Zeit-Teil für datetime-werte wird direkt übergeben und ohne spezieller Definition erkannt. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 8

Dieser Screenshot zeigt das korrekt adaptierte Pattern der Spalte createdon. Die nächste Spalte wurde bis jetzt noch nicht geändert, aber muss auch auf den gleichen Wert gesetzt werde: yyyy- MM-dd. Speichern Sie letztendlich die geänderten Schemaeinstellungen. 2.3 Konfiguration des Talend Job Ein einfacher Talend Job besteht normalerweise aus 3 Objekten: Die Input-Datenquelle, woher also die Daten kommen (in diesem Beispiel ist dies der SQL Datenbank-Input). Die Ouput-Datenquelle, wohin also die Daten gesendet werden sollen (für Mindbreeze Data Integration Jobs ist dies immer MindbreezeIndexOutput ). Prozessierungsinstruktionen, wie die Input-Daten auf die Output-Daten abgebildet werden sollen (die tmap ist ein häufig verwendetes Element um solch ein Mapping zu definieren). 2.3.1 Einrichten des SQL-Inputs Ziehen Sie das Tabellenschema der Datenbanktabelle supportticket mittels Drag and Drop vom linken Baum zum Job Workspace und wählen Sie tmssqlinput als Type der Komponente, die erstellt werden soll. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 9

2.3.2 Einrichten des Mindbreeze Index-Outputs Der nächste Schritt ist das Hinzufügen der Output-Datenquelle, indem nach dem Begriff Mindbreeze in der Palette der Talend-Komponenten gesucht wird. Ziehen Sie anschließend das Element MindbreezeIndexOutput auf die rechte Seite Ihres Workspace. Anmerkung: Wenn Sie keine Mindbreeze-Komponenten in der Palette finden, wurden die User- Components nicht richtig in den globalen Talend Preferences installiert. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 10

2.3.3 Einrichten des Column Mappings (tmap) Der letzte aber wichtigste Schritt ist, das Mapping der Input-Daten auf die Output-Daten, die vom Mindbreeze Crawler benötigt werden, zu konfigurieren. Dazu suchen wir nach dem Begriff tmap in der Palette und ziehen die Komponente tmap in die Mitte unseres Workspace. Um die Konfiguration des Jobs abzuschließen, müssen wir die 3 Komponenten miteinander verbinden, indem wir eine Verbindungslinie mit der rechten Maustaste vom Input zur tmap und von der tmap zum Output ziehen. Letztendlich sollte es folgendermaßen aussehen: Nun müssen wir nur noch das Spalten Mapping konfigurieren, in dem wir die tmap-properties mit einem Doppelklick öffnen. Für alle Data Integration Jobs brauchen wir zumindest 4 Properties, die vom Mindbreeze Crawler benötigt werden: key: sollte auf eine Spalte mit einer eindeutigen ID dieser Datenquelle abgebildet werden. Der Typ muss ein String sein. title: die Spalte oder der Inhalt dieser Property wird als Titel in den Suchresultaten verwendet. extension: normalerweise sollte der Wert auf txt gesetzt werden, um damit Mindbreeze mitzuteilen, den textuellen Inhalt als Text zu filtern. categoryclass: kann verwendet werden, um das Ergebnis dieser Datenquelle von anderen Ergebnissen zu trennen. Anmerkung: Diese internen Properties müssen einen gültigen Wert haben und dürfen nicht null sein; überprüfen Sie deswegen mit IF-like Ausdrücken, ob null -Werte vorkommen und weisen Sie alternative Werte in diesen Fällen zu. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 11

Sie können das Ergebnis des momentanen Mapping immer testen, indem Sie die Änderungen sichern und einen Testlauf (Test Run) des Jobs starten. Da wir nur diese vier Spalten abgebildet haben, bekommen wir nur diese Daten im Ergebnis des Testlaufs. Erweitern wir nun das Mapping, um alle wichtigen Spalten im Output zu bekommen. Es gibt zusätzliche Mindbreeze-interne Spalten, die verwendet werden könne, um zusätzliche Properties abzubilden: acl: (Liste von String-Werten) im Format: "TestUser1 GRANT" date: (Typ "Date") wird als interne Datumseigenschaft der Suchresultate verwendet und normalerweise in den Ergebnissen angezeigt. modificationdate: (Typ "Date") wird beim Aktualisieren der indizierten Dokumente verwendet (wird normalerweise in den Suchergebnissen nicht angezeigt). content: (Typ "String") wird verwendet, um den indizierten Text des Suchresultats zu speichern. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 12

Nun haben wir das Mapping mit optionalen internen Spalten erweitert und wir werden einen erweiterten Output vom Testlauf bekommen, der auch die Datumseigenschaften beinhaltet (Sie können diese auf Korrektheit mithilfe der originalen Datenbankdaten vergleichen). Zusätzlich bekommen wir den Inhalt (content) als Binärdaten angezeigt dieser sollte Werte beinhalten, wenn die originale Datenquelle für den entsprechenden Eintrag Text enthält. Nun können wir alle übrig gebliebenen Properties der Datenbank (möglicherweise brauchen wir nicht jede Spalte) auf einen Property-Namen unserer Wahl abbilden (es kann der gleiche Wert oder sogar ein Besserer vergeben werden). Nach Bedarf können Sie Property-Werte modifizieren, indem Sie einen Java-Ausdruck verwenden, wie das folgende Beispiel zeigt: row1.subject == null? "no subject" : row1.priority + ": " + row1.subject Anmerkung: Sie sollten Null-Werte immer vermeiden, um das Fehler-Logging zu reduzieren. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 13

Wenn wir nun den Job laufen lassen, bekommen wir hoffentlich alle gewünschten Properties, die auch später in der Mindbreeze Suche verfügbar sein werden. 2.4 Exportieren des Talend Jobs Letztendlich können wir unseren Talend Job speichern und exportieren. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 14

Stellen Sie ein, dass der exportierte Job extrahiert werden soll und merken Sie sich das Zielverzeichnis des Exports. Ermitteln Sie den exportierten Pfad zum Job im Dateisystem und suchen Sie den generierten Klassenname im Run Script: C:\mes\TalendJobs\SupportTicket_0.1\SupportTicket\SupportTicket_run.bat Zur Konfiguration des Talend Jobs in Mindbreeze brauchen Sie den Basispfad zum Job (der den lib -Ordner enthält: C:\mes\TalendJobs\SupportTicket_0.1 ) und den Klassennamen, der im Run Script gefunden wurde: mindbreeze.supportticket_0_1.supportticket. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 15

3 Konfiguration von Mindbreeze Erstellen Sie einen neuen Index mit einem sinnvollen Anzeigenamen (Display Name) und einen angemessenen Indexpfad (Index Path) im Dateisystem. Erstellen Sie anschließend eine neue Datenquelle (Data Source) und wählen Sie als Kategorie DataIntegation aus (Anmerkung: wenn diese Option nicht verfügbar ist, haben Sie vergessen, das Data Integration Plugin zu installieren). Wählen Sie noch einen Namen für die Datenquelle (Source Name), der im Suchclient angezeigt werden soll. Zu guter Letzt müssen Sie noch die Talend Job Properties definieren: Directory of Job: der Basispfad zum exportierten Talend job (der den lib Ordner beinhaltet) Main Class: der Name der Java Main Class aus dem Run Script Speichern Sie die Änderungen und starten Sie den Mindbreeze Node Service neu. Wenn alles richtig aufgesetzt wurde, sollten Sie eine Log-Nachricht im Mindbreeze Log vom Data Integration Crawler bekommen, wie das folgende Beispiel zeigt (z.b. C:\mes\logs\current\log- mescrawler_launchedservice-dataintegration_support+tickets\2015-02-27_12-44- 48.581290\log-mescrawler_launchedservice.log): Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 16

2015-02-27 12:44:57.394226 [5268] com.mindbreeze.enterprisesearch.connectors.commons.crawlerbase.crawlrun INFO: Finished crawling run 1 successfully - statistics: itemsfound: 8 Überprüfen Sie schließlich, ob Sie Suchresultate im Mindbreeze Search Client bekommen. Die voreingestellte Präsentation der benutzerdefinierten Data Integration Quelle zeigt schon Titel, Datum und den Inhalt, jedoch wollen wir auch andere Eigenschaften angezeigt bekommen, weswegen wir die categorydescriptor.xml vom Data Integration Plugin anpassen müssen. Anmerkung: Wenn Sie den Talend Job später ändern müssen und dabei größere Änderungen gemacht haben, sollten Sie den Index vom Dateisystem löschen und neu anlegen. 3.1 Anpassen der categorydescriptor.xml Als guter Anhaltspunkt beim Erstellen einer eigenen categorydescriptor.xml bietet sich die originale Datei aus dem Data Integration Plugin ZIP-file, die dann nach Ihren Bedürfnissen angepasst werden kann. Die standardmäßige categorydescriptor.xml vom Data Integration Connector schaut in etwa folgendermaßen aus: <?xml version="1.0" encoding="utf-8"?> <category id="dataintegration" supportspublic="true"> </category> <name>data Integration</name> Beim Vornehmen der Anpassungen können Sie sich jedoch an der categorydescriptor.xml anderer Basis Plugins, die mit dem Produkt mitgeliefert werden, orientieren. Z. B. beinhaltet das WebConnector-Plugin schon eine Liste von übersetzten Metadaten-Properties und eine spezifische Open Action. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 17

3.1.1 Hinzufügen von eigenen Metadaten Spalten Eine Metadaten-Definition könnte folgendermaßen aussehen: <metadata> <metadatum aggregatable="true" id="current_state" visible="true"> <name xml:lang="en">ticket State</name> <name xml:lang="de">ticket State</name> </metadatum>... </metadata> Die ID stellt das Mapping dar, um die Spalte zu identifizieren, die in der tmap beim Output Spaltennamen definiert wurde. Die folgenden Properties können zusätzlich zu den sprachspezifischen Spaltennamen definiert werden: aggregateable: wenn diese Option auf true gesetzt ist, wird die Spalte als Filter Property verfügbar sein (soll nur für Properties definiert werden, bei denen die Werte eine Gruppierung der Ergebnisse zulassen bei einzigartigen Werten, die also im Suchergebnis jeweils nur einmal vorkommen können, macht aggregatable keinen Sinn). visible: definiert, ob die Spalte in der standardmäßigen Ergebnispräsentation angezeigt wird. 3.1.2 Ersetzen der Icons Das kleine Icon in der Datenquelle-Liste beim Suchclient wird von der Datei categoryicon.png im ZIP-Archiv vom Plugin bestimmt. Sie können das Icon mit einem 16x16 Icon Ihrer Wahl ersetzen. Sie können ein Icon auch direkt im categorydescriptor.xml mit dem Icon-Tag definieren. Es benötigt eine eindeutige id, Größenattribute (height und width) und das Bild selbst (value), codiert als Base64-Wert. <context> <Icon alt="ticket" height="16" width="16" id="tag:mindbreeze.com,2007/contextitems/contexticon;ticket" mimetype="image/png" type="tag:mindbreeze.com,2007/contextitems/contexticon" value=" ivborw0kggoaaaansuheugaaabaaaaaqcayaaaaf8/9haaaabmjlr0qa/wd/ap+gvaetaaaacxbiwxmaaa staaaleweampwyaaaab3rjtuuh3wixecgw/xafagaaas1jrefuomvfkz1uwkauhl/nnv4zesw9wguilyq4 gymcgcirig3gckaoenmftgmnft8w65ccpoaiaqmy8knzatq7c/ewva8gpd1un3hopqfyo0+nmym1tkcrjm uzjnh/apyk2orjmu+c88trxhq91tvqjsj/hbbhu9kqrzgwo0icc74pofmgqspkpmzae9g/3w55brdj01q0 ywa4aiagcpgydi+agyaayl/fiylo8e4fklekhqkf0+nzbm45ur1edotqceco17e36/wrctptdtdtdajd8k zrouej0ecxxs/dc4dhajsjh2fisvi8nka8d0dn87ku/b9mpvlhovr99zicooj5auaby/blxqjams3mzqte LhYYY5wM+v1SmqbT45S5ecqe9xVY+3L3z8g3o1Sele9r3SQAAAAASUVORK5CYII= " /> </context> 3.1.3 Hinzufügen von benutzerdefinierten Actions Es ist möglich, benutzerdefinierte Aktionen, die auf spezifischen Metadaten basieren, hinzuzufügen. Z. B. um ein Ticket-Suchresultat in einer benutzerdefinierten Ticket Webanwendung zu öffnen. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 18

<context> <Menu> <Action name="open" pattern="http://intranet.mycompany.com/ticketing/show.html?ticketid={{mes:key}}"> </context> </Menu> <name xml:lang="en">open Ticket</name> <name xml:lang="de">ticket Öffnen</name> </Action> Damit die Änderungen wirksam werden, können Sie das Plugin ZIP-Archiv mit dem modifizierte categorydescriptor.xml über die Mindbreeze Konfigurationsoberfläche hochladen. Anmerkung: es wird empfohlen, modifizierte Plugins mit einem eigenen Namen umzubenennen, um Änderungen in Produktupdates besser erkennen zu können. Eine andere Möglichkeit, um die Änderungen in der categorydescriptor.xml wirksam zu machen, bietet das Kommandozeilenwerkzeug mesextension (kann zum Testen hilfreich sein): C:\ >mesextension --interface=categorydescriptor --category=dataintegration --file=c:\temp\categorydescriptor.xml --overwrite install Anschließend müssen Sie den Mindbreeze Node Service neustarten. Als Ergebnis erhalten Sie eine schöne Repräsentation der Suchresultate mit allen zusätzlichen Metadaten-Properties (auch bei den Filtern auf der rechten Seite, falls aggregatable definiert wurde). Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 19

4 Fehlerbehebung 4.1 Talend Job Probleme Als erstes müssen wir sicherstellen, dass der Talend Job nicht im Talend Open Studio läuft. Als nächstes müssen wir überprüfen, ob jede Property, nach der wir in Mindbreeze suchen wollen, bereits im Resultat des Test-Runs vom Talend Job verfügbar ist. Ansonsten wird Mindbreeze diese Daten zum Prozessieren gar nicht bekommen. 4.1.1 Talend Job Test-Run läuft nicht Wenn der Talend Job nicht läuft, überprüfen Sie die Problems -Ansicht. Anmerkung: es gibt zwei verschiedene Problem-Ansichten eine allgemeine von Eclipse und eine von Talend Sie können diese Ansichten in Window > Show view vom Menü aus öffnen). Ein Grund, wieso Probleme beim Talend Job auftreten können, ist eine unsaubere Umgebung. Sie können versuchen, den Workspace zu aktualisieren (refresh). Falls dies nicht hilft, versuchen Sie, das Talend Studio zu schließen, temporäre Dateien vom Dateisystem zu löschen und das Talend Studio erneut zu starten. 4.1.2 Datentypfehler Falls Sie den Fehler Type mismatch bekommen, sollten Sie als erstes das Mapping zwischen Input- und Output-Daten überprüfen. Oft ist der Fehler, dass eine ID-Spalte mit einem numerischen Wert vom Input erhalten wird, wobei auf der Output-Seite ein String-Wert erwartet wird. Um dieses Problem zu lösen, konvertieren Sie den Wert mit einem Java-Ausdruck. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 20

4.2 Probleme mit Mindbreeze Suchergebnissen 4.2.1 Keine Suchergebnisse Falls Sie keine Suchergebnisse erhalten (mit einer ALL -Suche in der neuen Data Integration Quelle), sollten Sie die folgenden möglichen Gründe überprüfen: Überprüfen Sie die Log-Datei vom Data Integration Crawler Möglicherweise sehen Sie eine ähnliche Fehlernachricht in der Log-Datei, wie im folgenden Beispiel: 2015-02-27 12:37:32.643950 [812] com.mindbreeze.enterprisesearch.connectors.commons.crawlerbase.crawlrun ERROR: CrawlRun was unsuccessful, cause: java.lang.classnotfoundexception: Mindbreeze.supportticket_0_1.SupportTicket Dieser Fehler wurde durch einen Tippfehler verursacht, bei dem ein Großbuchstabe anstatt eines Kleinbuchstaben verwendet wurde: mindbreeze.supportticket_0_1.supportticket Starten Sie den Mindbreeze Node Service neu und überprüfen Sie die neue Log-Datei. Überprüfen Sie die Zugriffseinschränkungen auf diesem Index ( Unrestricted Public Access ) 4.2.2 Keine Inhalte in den Suchergebnissen Wenn in den Suchergebnissen unter den Properties keine textuellen Inhalte angezeigt werden, wurde möglicherweise nicht richtig gecrawled. Dies kann folgende Gründe haben: Die Quelldaten sind nicht auf die interne Spalte content abgebildet Die extension Property wurde falsch gesetzt (für textuellen Inhalt müssen Sie den Wert txt setzen) 4.2.3 Properties werden in den Suchergebnissen nicht angezeigt Wenn sich eine gewünschte Property nicht in den internen Basis-Properties befindet, wird sie standardmäßig nicht angezeigt. Sie müssen die Property entweder im categorydescriptor.xml als sichtbare Meterdaten oder in der Suchanwendung explizit definieren. Sie sollten auch überprüfen, ob die Property vom Talend Job im Testlauf richtig abgeholt wurde. Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 21

5 Anhang 5.1 categorydescriptor.xml Hier finden Sie den kompletten Inhalt des categorydescriptor.xml, das in diesem Beispiel verwendet wurde. <?xml version="1.0" encoding="utf-8"?> <category id="dataintegration" supportspublic="true"> <name>data Integration</name> <metadata> <metadatum aggregatable="true" id="current_state" visible="true"> </metadatum> <name xml:lang="en">ticket State</name> <name xml:lang="de">ticket Status</name> <metadatum aggregatable="true" id="priority" visible="true"> </metadatum> <name xml:lang="en">ticket Priority</name> <name xml:lang="de">ticket Priorität</name> <metadatum aggregatable="true" id="category" visible="true"> </metadatum> <name xml:lang="en">ticket Category</name> <name xml:lang="de">ticket Kategorie</name> <metadatum aggregatable="true" id="datasource/modificationdate" visible="true"> </metadata> <context> </metadatum> <name xml:lang="en">modification Date</name> <name xml:lang="de">änderungsdatum</name> <metadatum aggregatable="true" id="assigned_to" visible="true"> </metadatum> <name xml:lang="en">assigned To</name> <name xml:lang="de">zugeordnet zu</name> <metadatum aggregatable="false" id="customer_name" visible="true"> </metadatum> <name xml:lang="en">customer Name</name> <name xml:lang="de">kundenname</name> <metadatum aggregatable="false" id="customer_email" visible="true"> </metadatum> <name xml:lang="en">customer E-Mail</name> <name xml:lang="de">kunden E-Mail</name> <metadatum aggregatable="true" id="customer_city" visible="true"> </metadatum> <name xml:lang="en">customer City</name> <name xml:lang="de">wohnort des Kunden</name> <metadatum aggregatable="true" id="customer_zipcode" visible="true"> </metadatum> <Menu> <name xml:lang="en">customer ZIP Code</name> <name xml:lang="de">zip Code des Kunden</name> <Action name="open" pattern="http://intranet.mycompany.com/ticketing/show.html?ticketid={{mes:key}}"> Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 22

</Menu> <name xml:lang="en">open Ticket</name> <name xml:lang="de">ticket Öffnen</name> </Action> <Icon alt="ticket" height="89" width="64" id="tag:mindbreeze.com,2007/contextitems/contexticon;ticket" mimetype="image/png" type="tag:mindbreeze.com,2007/contextitems/contexticon" value=" ivborw0kggoaaaansuheugaaaeaaaabzcayaaacoscknaaaabmjlr0qa/wd/ap+gvaetaaaacxbiwxmaaastaaalewea mpwyaaaab3rjtuuh3wixeduvs3i9mqaad5jjrefuenrtnhmmxfv1xz/nd+/b583m8czydrjbxgzx2irnygoyj5tervcr NBVNgUBSElAjqmZppBJVUVUSIaIWpdAk2KFJEUsbKASbpXEgbAWCHMM0LAEZb/GCl7Hn7cv9nf5x73vvvmXGpmWZN/hK V3rvrr9zfud8z/ec3+/+BCCTyZBOpykWi2mP6JKSiFPyyCtYwpvSHZvQ2mwVSyVSLee1fGDj8PBwqe3SfD4/XLbR8/P3 LZqVcPNfM44zFxEQmfTB03YLd5QqKFjP25Ir6o2bT9nw4KaxR7b+2Wcv8wBkz549xOOxeKVqP2XXHPs3TsQcD4IYQQVE pc64dikgtkybbvvffnqqohhvfexsu85d8sgdd+tqfto+utwhe9/ik9oj4u0iooiigjbiqns/thzfshd0vtstqeefqxax gkqqqkzkzovhfm7lvwhwbciv3wrpnp8p4phdbgqxncwguib0k/trwwneg6mwqsgd8l4d/atav0bj82nhzmuiakbmilgr FAHRrjH/uvyioAYRH8rVaGAdgmBGa9e5AJ6nFgn7fCC8iI+DGBRtwsNpLbyCwaCiqPrWjPXFUmmWww0bj+AL7Pt747dv /ul7rde4gwmaoicvban+tfiy2+q8hpdeimccjwbguicmimdvt+aabnq7z2htmdqdustoczxgstnd/h9us9bwszqhmbmw XHyQbEZU7ULhG0jYJHMNBMMHzUFY5IzaOslm+IBvhxXwQVeAO70IjIc4CSQ2ijgJwKKVCWxxhw9f7wITc6eP8Er0w1cT W/T15qQGsIWd5J++AK1m33ElTAsXUFslceq/Elv0dVS1DbFNYpTU8uegUnjHizLTQgEmtQB3aBmoTtrD4sSIzL/mHY/T 5v3p8RLqFer/nVlnBFJOLZ2kFna/AlSVxNK7SC57GGfgDNQrUN31aCONm2Lzdj/f3WFQVYn+3pW4s87E9B5PYumPSX38 Vajsp/zm7SBSx4Cm3BbwMpsov3Fbl2OALeMMnRNYu2/L4qaQxOmUXvs7Sq/cVD+utoraCrY0TnnT/WTuX4IzNHRQK5nm YdAikXSzX4vgDC7FTqzDGTgOgNxT11DZ8h9+MuM6mFQCd3Z/UN+SblbAZCmJ4ox8kvIbd5FddzVOr4M7q6/dFbqeCEkE m30d07u4kdxvtj4m+jki4a7fjrn33clt31mmeonseuvbyl2gu+tfwk6miy6dmpc+kr/3b6xmky79vt0qtpz0rexfpb39 Z6oCFA8TGw4B4HFNUWFmKkAVVQ8ifTi9JxA79vr6qZ6VP8ekF4Hb618z09JhVUXcJKkzH8Qkj+wQE4TUsjU+2dn3Avlf XQpq3zOLMO+28E7/SaRWbMAkj5zSz1UVZ/BUes5/DZHYO0543icXsMQWfxsRc1A/rzNDEZzhz8BMsABUcXqOfvt+OWf5 zmaams6zn83gy5bf9n1o/+dmaegj9umomm23w2xxwwo4riddcjisga+8attadvfrbkkpkx91awwwmxjly0qmddmh0j3t ZMPiaZ2RN2Sw9ePSToTkbWuxO62hdY6QqpUPoPs3LKCRpobHZLVdXV27aaffgj8nNFBADQeaHH4mCR/IpTTVGlosYBKZ dyyyvu7malynv1olakpa0gr9hjhi13r+bwzwxcbat+ohysr6hsuzupdux18mvxiliax3o15xgkjqgjm6tnj6iwyadiyo UylTcYc/TXLpP1H+7YNkH/sG3v7daKb8vosfXfQVksufxWbG3zYpCizA1q2khoe07hYiR1wMQGnsOjR/N+XX/gJJ9yDp s4id9enwb9fqkejcbxh9yddrr0xkwfw4876ae8qxsz79cyilrkerodr6rbz8e3fe53gpudy497donedjlfvw5/81yxme I3byj8AZ9tvhDBI78fuoVyRxxhrcOVfgjnwCMRESp92JJE8Gq23tD+O8NmSvRwHp5D4a9HztE5TiyzcAkL5oPc7sP0Zt FgRM/ENE5izH5hXFYgZOwfSfjlbKuMNnElv8FST+UQrrbyO28HJii28FPNzhZcQWfxWJHUth/SpiC68gdvz3UFskcdp9 xi/7erlnrgf6sh3skvrgwlhe5q4gtej/spki1fgd2fioshjj26m8tbep3voq2haytg3hwf9urhsmi2dzy+sevhrvypzk 0ptILnsC9TL1V2ib6vz/Yhzyz34O78Aqylt+hjNyLraQq58rPHcl3oEfUt66FmfkPJQB3KGTmHjoKjT7GIXnViLGEJl/ Rb15ld89T+6X52EzD+CNPw6epTh2LSaxMWg7jW9nJBzltIkKBy6gjWnSNVuxIe4c7KIGu/85Cs8uJ/fkl3FnHYtJX95w LBviEmHuDZiUQSSO5l/FuHFsvtywxZSDSAItvIZEEmjJAcDbsQaJuKB5tFxAIgMNBbz5c0xPL2IiiDi1AiSCA1Ya7a7z f613cccrnfphqrie8fttyspg9ikjahvql7wftb4gswewcuxitp0r7gbazepmxonnv4u4ofdp9vnnhi7a5nac9sdqxu+5 CbUVTO8ZSDRBZfsLoQea+hR4VQvGAYmh2EmnxreERAHk0IhQsMUX34g756z6/+r4Jiobb8UdGUKrRdKfXOsbQmFv28BG euvlacwdifwseejzmn506nwywsliymkm1l6jxesuxrqz+ilfjnru2ti9r1dd/tqvjbcq+ddinjj39o4hcyimfhyx+wf+ kuq+nz0hytoqiqf4cv22k0747em/xhjfjoz/3zduiqujlebc7eqaz/rcklvuquwgzydaiexxs6hsvrftz/h2lxahhds5 63AGF7L/zlHcOddSfuN7OP1xJAaps9bhDBzN/jvn4M65pn7OxP0kVUtg+i6hsn0t4hzA6fPfZXPgZYu4wzFEfOMVMw/c JVS33oEznPQVYP3ArzUXsIFrW0vfn24bBHLNFqCd9NOwF7VVTHofNns7zqAg4o/rC/6XGVq4G3fIV54ZjTaN9krMwWZW 4Y6k/I+XQpMkTMs5UH9GTAxs4R6cgca7fMwAk4rVu1UUsFvR0pZA+BYaK9opvQlngwEGSIgMWMDRWqDw7wiUEjYvkbC+ TBt4VH63hsq29QimPkZYu7Gy7UEqW0d8a2u5t/7ctvdPRm46TKb2ey0Egk1KaGCArZXEtFYSkmbAkA6gWM11BgzjIs4o 6r2FSJTyxu+CteBG/e/3tIozazl4ecobb/LPOdGD0vB3IPlpMKIQEQq5gDYzY5mcPmo1Q+pjY5hoT8AhLGJccKIUN/wj ivo/rvbxl6czdyhemgm3vys55bzsatf5x5530lksqilryux8fg9iqypkvr0fsgszwlbubk2vtsypvhpsvborkkvxv6of MrGFl+CMHE/+qRtAoLrjP5HEPCpvPoQ7FA1qDV7IlAS1ZfDKgYBeMAXOCVmhDdzJgC2SPPNutFQiu+50nOSAT7FqzxTj x/6plga7upswknwqltbflsakt+m2vpfv2oi2uiu3azv23yqcvkgi81cqo+ztqfxe6sf5+n30xrsv1hnpozvssnfkfphn pm55ahp/mglsjh7/j/retjx44psrdlfj/h6tmoptp5/0bwnoeqjxekid99/0xrsv2ilrfyxsiye5hotq1c2gpqno/ncw iai2mwwtw/smygsgiq74md4mgf/9efjp3oawg3mpm3g+0amuirp2m3jjg0ie+zbezhfjq+fjzd6dydg3ut25dpvfh5fd ReFXt+DtK5Fa8STegV2M/2CE4qv/5TO/qdqqHWsCLRbQETBqN0pAL1t2naT0DOBViR51HWo9sg+djzNYgfL9mGTS96Lk KMmzvs/EvZdgnO24cy7E6ZmLt/t14idfjbfnBeILz8cbfxaqE2gxh/fWv+AM9YGCO7yI+KnXITzu409b26SlI9uwoYkK +8esbSCldMqdWvaDVB4kMRfUYlLR4KNs01iMwU2g1QrJc26EqOvTbCByxDk4s/4QzDDlzS+gRa8R/4xBHJfco6dR2fwM ivo+qfze1aiwpm6b0mjxg9s/yqj8efsssj0s1xv0/1owf5fqtn8h4+imnytwm02lnzuxmdyjf+poogp35e/wdvk0urlp p+sfweb+qbmpphsxeq2cvjgp2wil5mf72fxkl15c8cvbir69epvjtt0gefabq2bfaq5r2nibcy8gbv+qy3wkxelbrbhj BgrWxmIFJoK3ey3e3lfoWbEaLRfATXDgjiiYBLgxbPllqjtfIHnmd8g+MkbxlVWkln8XrXwbsJQ3/YLS2BepbFtD/KNf pf+ydpt/nkl/sjfrug6jpsis/xgyehtds27qwyfgyvdtzquewpfikro3f+j5xibd/utxpzkzkwo1vnjud2vxhmzh4i6q Ht7efUAcdyjtz/nPxHH6z6ay7T6cwV7QCbzxCpF5s1FbprprP5g4kZEUXqaI0/dHVMd/A4VXcYYH/J6x89DKAFr4NZKo IvELqO54CJOM4PTHOyN+LReoRWGr4Pmhtv/Pty8AdrudKZNSXzTkIFmiuCki81L1awQHd9bsxn+J4PRWQR8jMi+Y808/ JlE7HyUyOly/3ulJgn0Mtw/oHawXPdXswMR3orG4H4p5isictG+99uBDYB0EaCJCfr5QSxpUmnv9/z04Ki1M7FCvDR+V UIGqcc0hLe0hoaII9QJRCwjSUha3XT5ApC1MkDYMaAFBVd/3tQUi1HbvyLC2pMO1qGa1QzpMiP/XtOZ0w8pBh6AF20LY 6JQOa0j4+uojtXJwN1uANoiQhpPBkAs0xXVo0Eg5RNzqmrFB7VwRCidDdRasBx1cnN6btIN4C8MPgaC1qFWsARMKMQr+ +jvdagxspmzn459irlymjkp7+nmana5vu7tts35kextkcg2njmufgfirqh6oqwegwd8x0objbq+bioigvd+yeeipfwzu mdyq9lwlqr24ucurgxsagzlusit6cnkb8dbxe7tbigxrfjlypelhesyhp4gqeii4yfvalca8ynj0ndvv0iypgyykpl71 ajdw0dxbwreavemtb3iluzmem6m1zq2oby4slkio0l044dfx1tn0pf94tuqhbpfg571va/dyb8a2p7yh9ima8brpuu8r D197wa6h39N1b22jeDSOWd8MHtlQ/ufA+g+YtWvXktj7TOaq1RO3Z3O6Gaui1r/Ren4urTaskOm91wT22+zLIF4NA1Sy Od18xaoD64BtNcTzR34jSLHC8fd8qf+qPzgmcnkqJgO+l0j3McImAueDX7ak40+/Vrn907fsvxeYAF6aTKQhYBhIMvOm 05eA7cDu2oH/BTw+CdV54/GjAAAAAElFTkSuQmCC" /> Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 23

</category> </context> Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels 24