Navigation:  Kurzanleitung > Wie konfiguriert man… >

Eine Volltext-Suche

Previous pageReturn to chapter overviewNext page

In WebOffice 10 R3 ist es möglich eine indizierte Volltext-Suche zu verwenden. Dadurch kann eine themenübergreifende Suche in den Datenbeständen der gewünschten Layer durchgeführt werden. Technisch gesehen basiert der Volltext-Suchindex auf dem Solr-Framework, welches die Technologie von Apache Lucene verwendet. Um diese Funktion nutzen zu können, sind eine Reihe von Konfigurationsschritten notwendig.

 

Wichtig zu unterscheiden sind die beiden Begriffe Suchindex und Subindex. Der Suchindex für die Volltext-Suche liegt in einer eigenen Webapplikation namens FTS-Index und wird durch ein Framework (Solr) verwaltet. Dieser Suchindex ist aus mehreren Subindizes aufgebaut, wobei für die entsprechend konfigurierten Such-Layer Subindizes erstellt werden.

 

Installation von Solr Server (FTS-Index):

 

Der Suchindex liegt in einer Webapplikation, dem sogenannten FTS-Index. Die Installation dieser Webapplikation geschieht über das Kopieren eines Verzeichnisses und der Anpassung des Application Context Descriptors (XML-Datei). Das zu installierende Paket für den FTS-Index finden Sie auf den Installationsmedien (/Software/FTS-Index Web Application/unpackaged/FTS-Index.zip) und ist mit "FTS-Index" benannt. Kopieren Sie diesen Ordner am Applikationsserver nicht(!) in ein Verzeichnis, das für die automatische Deployment Funktionalität überwacht wird. Die Verzeichnisse /Tomcat/webapps oder /Tomcat/work sind hierfür also nicht geeignet. Erstellen Sie ein neues Verzeichnis "webapps_custom" (unter /Tomcat) und kopieren Sie an dieser Stelle den "FTS-Index" Ordner hinein.

 

Hinweis: Es darf nur eine einzelne WebOffice 10 R3 Applikation auf einen bestimmten Suchindex zugreifen! Wenn Sie in mehreren WebOffice 10 R3 Applikationen die Volltextsuche nutzen wollen, müssen Sie für jede WebOffice 10 R3 Applikation eine eigene Suchindex Applikation installieren (z.B. FTS-Index1, FTS-Index2).

 

FTS-Index Installation

FTS-Index Installation

 

Im nächsten Schritt muss die Application Context Descriptor Datei FTS-Index.xml angepasst und Tomcat zur Verfügung gestellt werden, damit dieser die Applikation FTS-Index finden und laden kann. Eine Beispiel-Konfiguration finden Sie auf den Installationsmedien unter (/Software/FTS-Index Web Application/unpackaged/FTS-Index.xml). Nutzen Sie diese und passen Sie die Pfade unter docBase, workDir, sowie Environment entsprechend Ihrer Konfiguration an. Diese XML-Datei wird dann unter /Tomcat/conf/Catalina/Hostname/ abgelegt.

 

Vorsicht: Vermeiden Sie deutsche Umlaute oder Sonderzeichen! Wenn ein deutscher Umlaut oder ein Sonderzeichen (z.B. $, %, ...) in die FTS-Index.xml eingefügt wird, muss die Datei in UTF-8-Codierung gespeichert werden. Wird die Datei mit ANSI-Codierung gespeichert, kann die FTS-Index Anwendung nicht mehr von Tomcat geladen werden, da diese nicht mehr in der Anwendungsliste vom Tomcat-Manager verfügbar ist.

 

FTS-Index.xml Konfiguration

FTS-Index.xml Konfiguration

 

FTS-Index.xml Ablage

FTS-Index.xml Ablage

 

Hinweis: Wenn Sie in mehreren Applikationen die Volltextsuche nutzen wollen, müssen Sie für jede WebOffice 10 R3 Applikation eine eigene Application Context Descriptor Datei anlegen, die für die jeweilige Suchindex Applikation konfiguriert wird.

 

Hinweis: Nach dieser Installation wird empfohlen Apache Tomcat durchzustarten.

 

Um die korrekte Installation der Suchindex Applikation zu überprüfen, geben Sie den URL wie folgt an: http://[servername]:[tomcat-port]/Suchindex Application Name. Der Dateiname (ohne Endung) der Application Context Descriptor Datei definiert den Applikationsnamen. Im Beispiel also "FTS-Index".

 

Hinweis: Der Name der Application Context Descriptor Datei (und damit der Name der Suchindex Applikation) kann angepasst werden. So können mehrere Suchindizes parallel auf einem Rechner existieren. (ein Suchindex pro WebOffice 10 R3 Applikation)

 

Applikation Solr

Applikation Solr

 

Weiters gibt es die Möglichkeit in der Application Context Descriptor Datei folgenden Eintrag hinzuzufügen:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1"/>. Dieser Eintrag bewirkt, dass die Webapplikation nur von dem lokalen Rechner selbst aufgerufen werden kann. Andernfalls wäre die Schnittstelle http://[servername]:[tomcat-port]/Suchindex-Applikationsname/admin frei zugänglich und würde es Unbefugten erlauben, Daten zu lesen oder löschen.

 

Hinweis: Falls der FTS-Index auch von anderen Rechnern als dem Applikationsserver benutzt werden soll, sind die entsprechenden IP-Adressen (kommasepariert) hinzuzufügen.

 

Konfiguration der Volltextsuche auf Applikationsebene

Die Konfiguration Volltextsuche erfolgt auf Applikations- und Projektebene, sowie auf der Ebene der Suche/Abfrage.

 

Öffnen Sie die Anwendungskonfiguration und fügen Sie die Volltextsuche über den Knoten Basis hinzu. Wichtig dabei ist, dass unter Adresse des Suchindex der korrekte URL der Volltext-Suchindex Applikation angegeben wird. Der Name dieser Applikation entspricht dem Dateinamen des Application Context Descriptor (z. B. FTS-Index.xml) ohne Dateiendung. Siehe auch Kapitel Volltextsuche.

 

Hinweis: Damit die aktive Verbindung zwischen dem FTS-Index und WebOffice 10 R3 klappt, ist bei einem Single-Server-Deployment (d.h. WebOffice 10 R3 und FTS-Index befinden sich auf derselben Maschine, also die Standardsituation) folgendes zu beachten:

 

ENTWEDER

Falls im application_config.xml von WebOffice 10 R3 ein Proxy konfiguriert ist, dann muss die Adresse des FTS-Index (d.h. der lokale Rechnername bzw. "localhost") als Ausnahme aufgelistet sein

ODER

In der lokalen Firewall muss der Tomcat-Port (typischerweise Port 8080) für Verbindungen von aussen freigeschaltet werden.

 

Hinweis: Nach den Änderungen in der Konfiguration der Web-Applikation müssen Sie die 'Anwendung neu laden'.

 

Volltextsuche - Anwendungskonfiguration

Volltextsuche - Anwendungskonfiguration

 

Konfiguration der Volltextsuche auf Projektebene:

Um die Volltextsuche für ein gewünschtes Projekt zu konfigurieren, navigieren Sie im WebOffice author (bei geöffnetem Projekt) zu Bearbeiten/Volltextsuche und setzen Sie das Attribut 'Volltextsuche verwenden?' auf Ja.

 

Volltextsuche - Projektebene

Volltextsuche - Projektebene

 

Eigenschaft

Beschreibung

Volltextsuche verwenden?

Legt fest, ob die Volltextsuche im WebOffice Client verwendet werden soll

oder nicht

UI Anzeige in

Legt fest, wo das Suchfeld der Volltextsuche im User Interface angezeigt werden soll

Volltextsuche zu Beginn sichtbar?

Legt fest, ob die Volltextsuche (Suchformular) für das gesamte Projekt zu Beginn sichtbar ('Ja) oder minimiert ('Nein') ist.

Hinweis: Dies ist ein flex-spezifischer Konfigurationsparameter.

Volltextsuche hervorheben?

Legt fest, ob das Control für die Volltextsuche beim Start des HTML Client mit einem Glow-Effekt ('Aufleuchten') hervorgehoben wird oder nicht.

Maximale Trefferanzahl

Legt die bei einer Volltext-Suchanfrage maximal zu liefernde Zahl von

Treffern fest. Sollten auf Grund der Suchkriterien mehr Treffer gefunden werden, so wird statt dem Suchergebnis eine Fehlermeldung angezeigt.

Maximal aufgeklappte Resultate

Maximale Grösse einer Resultatliste welche im "Ergebnis Volltextsuche" automatisch aufgeklappt angezeigt wird. Eine umfangreichere Resultatliste wird standardmäßig zugeklappt dargestellt, außer wenn alle Resultate demselben Thema angehören.

Anzahl Vorschlagswerte

Legt fest, wie viele Vorschlagswerte bei der Volltextsuche geliefert werden (auch wenn mehr Werte in den Daten vorliegen). Die Funktion dient zur Komfortsteigerung für den Anwender weil er so immer eine kleine übersichtliche Liste erhält. Die Sortierung erfolgt in erster Instanz über das Suchranking (d.h. das Ausmaß in welchem ein Resultat dem Suchbegriff entspricht). Resultate mit identischem Ranking werden alphanumerisch sortiert.

Achtung: Vorschlagswerte der Volltextsuche entsprechen nicht notwendigerweise dem vollständigen Umfang aller gefundenen Daten, sondern stellen nur eine Liste mit dem hier konfigurierten maximalen Umfang dar. Standardwert: Ist dieses Attribut nicht gesetzt, wird der entsprechende Wert aus "Einstellungen" benutzt.

Max. Länge Vorschlagswert Total

Maximale Länge für die Anzeige der Vorschlagswerte. Vorschlagswerte von allfälligen Resultaten mit einem längeren Objektnamen werden gekürzt und mit ".." ergänzt. Falls auf einem Layer die Anzeige des Layernamen im Vorschlagswert der Volltextsuche aktiviert ist (zu konfigurieren unter "Liste von Suchergebnis-Sichten -> Layername in Volltext-Vorschlagswert?"), nimmt dieser einen Teil (aber maximal die dort konfigurierte Anzahl Zeichen) der hier hier angegeben Länge in Anspruch.

Max. Länge Vorschlagswert Layer

Maximale angezeigte Länge des Layernamens, falls dieser im Vorschlagswert der Volltextsuche dargestellt werden soll (zu konfigurieren unter "Liste von Suchergebnis-Sichten -> Layername in Volltext-Vorschlagswert?"). Alfällige längere Layername werden gekürzt und mit ".." ergänzt.

Layer-Sichtbarkeit berücksichtigen?

Legt fest, ob die Layerschaltung im TOC (Themenbaum) des Client berücksichtigt werden soll. Wenn 'Ja' konfiguriert ist, dann werden nur Volltextsuchergebnisse und -vorschläge für Layer geliefert, welche als sichtbar definiert sind. Allfällige Sichtbarkeitsgrenzen (Maßstabsgrenzen) werden dabei nicht berücksichtigt.

Volltextsuche in der WebOffice Konfiguration

 

Konfiguration der Volltextsuche auf Ebene der Suche/Abfrage:

Wie schon erwähnt, werden für die Volltextsuche bzw. den Suchindex sogenannte Subindizes benötigt, welche sich auf die Such-Layer (Suche/Abfrage) beziehen. Hierfür muss in der Projektkonfiguration auf Ebene der Suchen/Abfragen auf den entsprechenden Layer das Attribut "Für die Volltextsuche indexieren?" auf Ja gesetzt werden (Default-Wert). Dadurch wird die Konfiguration dieser Suche für die Volltextsuche berücksichtigt. Der zweite Parameter, der für die Volltextsuche konfiguriert werden kann, ist die 'Resultatgewichtung (FTS)'. Abfrageresultate mit einem höheren Gewicht erscheinen in der Resultatliste ganz oben, wohingegen jene mit einem niedrigen Gewicht ganz unten erscheinen. Siehe auch Kapitel Suche/Abfrage.

 

Hinweis: Die Volltextsuche unterstützt zurzeit noch keine Tabellen und bezieht sich somit nur auf Feature Klassen.

 

Volltextsuche - Suche/Abfrage

Volltextsuche - Suche/Abfrage

 

Für die Volltextsuche bzw. die Indexierung werden nur die konfigurierten Suchfelder der Suche berücksichtigt. Es werden nur Suchfelder mit folgenden Datentypen unterstützt: String, Integer, SmallInteger.

 

Volltextsuche - Suchfelder

Volltextsuche - Suchfelder

 

Die Ergebnisfelder definieren mit dem Attribut Sortierung/Objektnamen den Objektnamen eines Resultat-Records. Es werden nur Resultatfelder mit folgenden Datentypen unterstützt: String, Integer, SmallInteger, Double, GlobalID, GUID, OID.

 

Volltextsuche - Ergebnisfelder

Volltextsuche - Ergebnisfelder

 

Die Suchfelder, sowie die Resultatfelder von allen Suchen aus allen Projekten (welche eine Volltextsuche anbieten) werden aggregiert. Falls dadurch für eine bestimmte Featureklasse mehrere konfliktierende Konfigurationen bestehen, wird die Vereinigung aller konfigurierten Elemente verwendet.

 

Freie Suche - Gesamte Projektstruktur

Freie Suche - Gesamte Projektstruktur

 

Im Knoten Freie Suche (Extras > Gesamte Projektstruktur > WebOffice Konfiguration > Basis) können über die Parameter 'Minimale Eingabelänge' und 'Wartezeit [ms]' die minimale Benutzereingabelänge sowie die Wartezeit, bis die Serveranfrage übermittelt wird, definiert werden.

 

Volltextsuche im SynAdmin:

Wenn auf der Applikationsebene die Volltextsuche konfiguriert ist, erhält man im Synadmin eine Übersicht der resultierenden Volltextsuche-Konfiguration.

Wie in untenstehender Abbildung ersichtlich, gibt es dann in der SynAdmin Oberfläche einen neuen Reiter mit der Bezeichnung Volltextsuche. Führen Sie die obigen Konfigurationsschritte zum ersten mal aus, wird noch kein Suchindex bzw. keine Subindizes vorhanden sein, was durch ein gelbes Rufzeichen signalisiert wird.

 

Volltextsuche - Synadmin

Volltextsuche - Synadmin

 

Im Synadmin wird jeder konfigurierte Subindex mit dem entsprechenden Layernamen und weiteren Information wie in der obigen Abbildung aufgelistet. Wichtig dabei ist, dass auch die Projekte für die Volltextsuche vollständig initialisiert sind.

Die Bedeutungen der einzelnen Zustandsinformationen der Subindizes sind im Synadmin (unten) geklärt. Um nun einen Subindex zu generieren hat man die Möglichkeit über das Symbol mit dem blauen Pfeil (für jeden Layer extra) diesen zu erstellen oder man wählt die gewünschten Themen durch anhaken aus und erstellt die Subindizes mit dem Button 'Markierte Subindizes neu erstellen'. Wurden die Subindizes erfolgreich erstellt, so wird die Information bezüglich des Zustands mit created angegeben und die Themen werden für die Volltextsuche eingesetzt. Löschen lassen sich Subindizes über die Buttons, welche sich neben den Buttons zur Generierung von Subindizes befinden oder über den Button 'Markierte Subindizes löschen'. Die Spalte 'Gew.' zeigt die konfigurierte Resultatgewichtung jedes Subindex in der Liste.

 

Volltextsuche - Synadmin - Indexerstellung

Volltextsuche - Synadmin - Indexerstellung

 

Für jeden Subindex gibt es im Synadmin (rechts außen) einen Info-Button, welcher die Details für den jeweiligen Subindex anzeigt. Zu diesen Informationen gehören u. a. der Name des Subindex (Kartendienst/Layer), die für den Suchindex indexierten Felder, die indexierte Ergebnisanzeige (Ergebnisfelder bezüglich festgelegter Sortierung/Objektnamen) und die Resultatgewichtung.

 

Hinweis: Der betreffende Subindex wird automatisch aktualisiert, wenn Objekte in derselben WebOffice-Applikation, in der die Volltextsuche konfiguriert ist, über die Editierfunktion von WebOffice geändert, hinzugefügt oder gelöscht werden.

Folgendes Szenario sei jedoch zu beachten: Wenn Objekte in einer anderen WebOffice-Applikation (oder am Desktop) editiert werden, so kann der Subindex nicht automatisch angepasst werden. Hierbei muss der Subindex vom Administrator neu berechnet werden.

Die Neuberechnung aller oder bestimmter Subindizes kann auch über batchfähige Administrationsrequest erfolgen.

 

Hinweis: Wenn Sie nachträglich Lookups auf bereits indizierte Such- oder Resultatfelder konfigurieren, müssen Sie den Subindex neu rechnen, damit die Lookups auch für die Volltextsuche verwendet werden. Lookups werden auch berücksichtigt, wenn das Projekt in mehreren Sprachen zur Verfügung stehen soll. Hierfür muss aber auch das entsprechende Tool konfiguriert sein (Werkzeug Sprache ändern) um die Sprache des Projektes ändern zu können.

 

Hinweis: Ist WebOffice usermanagement im Einsatz, ist folgendes zu berücksichtigen:

'Einschränkungen für Themen' werden für die Indexierung genauso wie 'Attributive Filter' berücksichtigt. Wenn Änderungen im WebOffice usermanagement gemacht werden, so werden die davon betroffenen Subindizes im SynAdmin als 'out of date' gekennzeichnet. Diese Subindizes müssen dann neu berechnet werden.

 

Hinweis: Nach einem unkontrollierten Beenden ("Absturz") von Tomcat, kann es vorkommen, dass die Datei welche den Schreibzugriff zum Suchindex regelt nicht entfernt wurde und das Erstellen von Subindizes verhindert. Dies wird mit der Fehlermeldung "Indexing not possible. Delete the file 'write.lock' in the solr/data/index directory of the FTS-Index..." angezeigt. Durch das manuelle Entfernen der Datei 'write.lock' (FTS-Index/solr/data/index) und einem Neustart von TomCat wird das Problem behoben.

 

Hinweis: Die Größe des benötigten Speicherplatzes eines Subindex (und damit auch die benötigte Zeit für das Erstellen eines Subindex) hängt direkt von der Anzahl der Features in einem Layer zusammen. Mit besonders großen Datensätzen (ca. 1 Million Features oder mehr) kann das Erstellen eines Subindex erheblich lange dauern und es wird eine große Menge an Speicherplatz benötigt (Verzeichnis "FTS-Index\solr\data").

Während dem Erstellen eines Subindex kann vorübergehend mehr als die doppelte Menge des schlussendlich belegten Speicherplatzes benötigt werden. Es ist Aufgabe des Administrators dafür zu sorgen, dass genügend freier Speicherplatz für die Erstellung aller Subindizes zur Verfügung steht.

 

Volltextsuche - Synadmin - Subindex Details

Volltextsuche - Synadmin - Subindex Details

 

In der tabellarischen Auflistung der Detailansicht erscheinen die verschiedenen Suchen welche einen bestimmten Subindex verwenden. Falls in verschiedenen Projekten Suchen konfiguriert sind welche denselben Layer verwenden, kann hier überprüft werden wie die Suchkonfigurationen aggregiert werden.

 

Volltextsuche - Detailansicht - Liste

Volltextsuche - Detailansicht - Liste

 

Hinweis: Felder, die in ArcMap als nicht sichtbar konfiguriert sind, können für den Index nicht verwendet werden. Solche versteckte Felder werden in der Detailansicht eines Subindex in [[doppelten, eckigen Klammern]] angeführt.

 

Nicht sichtbare Felder können für die Volltextsuche nicht verwendet werden

Nicht sichtbare Felder können für die Volltextsuche nicht verwendet werden

 

Hinweis: Felder, die nur für externe Aufrufe konfiguriert wurden, werden für die Volltextsuche nicht verwendet. In den Details eines Subindex werden diese Felder in [~eckiger Klammer und Tilde~] angezeigt.

 

Suchefelder, die nur für externe Aufrufe konfiguriert sind, werden für die Volltextsuche ignoriert

Suchefelder, die nur für externe Aufrufe konfiguriert sind, werden für die Volltextsuche ignoriert