Optimierung der Indizierung:
Ab der BüroWARE 5.57 kann eine Optimierung der Volltextindizierung über das globale MEM 28408_1 , ANJ – ‚Volltextsuche deaktiviert‘ erfolgen.
Die Volltextindizierung erfolgt immer über alle Feldänderungen eines Bereiches.
Hinweis:
Eine Volltext-Reorganisation kann auch während dem Laufenden Betrieb durchgeführt werden!
Beispiel: Die Volltextsuche lt. internen Texten ist im Bereich ADR nur für die Adr.Nr. ADR_2_8 indiziert. Trotzdem führt eine Änderung in jedem anderen ADR-Feld zur Neuindizierung der Volltextsuche. Das führt bei Imports bzw. Workflows zu einer unnötigen Last im System durch Neuindizierung. Mit dem o.a. MEM kann vor einem Import oder einer PUT_Rel im WFL der Volltext ausgeschaltet werden. Im Anschluss muß der Volltext natürlich wieder aktiviert werden. Wenn per PUT oder Import für den Volltext indizierte Felder verändert werden (indizierte Felder lt. internen Texten), muss anschließend eine Volltextreorg erfolgen.
Mit der BüroWARe 5.57 kann die automatische Indizierung des Volltextes bei Änderungen deaktiviert werden. Der Vorteil ist eine Verbesserung der Performance der BüroWARE, da die Indizierungsprozesse deaktiviert werden. Die Suche erfolgt an Hand der Begriffe der letzten Indizierung.
[VOLLTEXT, Einstellungen Volltextindizierung (V50), Nr: 505 - kein Update des Volltextindex - nur lesender Zugriff]
WICHTIG:
Bei einer Aktivierung des o.a. Zugriffsrechtes sollte die automatische Volltextreorganisation AUTO REORG VOLLTEXT aktiviert werden.[ s.a. Parameter für die AUTOREOG]
Alle nachfolgenden Informationen sind historisch gewachsen und gelten bis zur oben genannten Version.
INFORMATION ÜBER LUCENE: Ab der Version 5.5x wurde eine neue Volltextsuche integriert. Diese basiert auf der sogenannten Lucene.NET. Um die Lucene Suche zu aktivieren, gibt es in den Zugriffsrechten folgende Einstellungen: [ VOLLTEXT, Einstellungen Volltextindizierung (V50), Nr: 106 - Volltextsuche mit Lucene (V55) ] [VOLLTEXT, Nr: 503 - Einstellungen Volltextindizierung (V50), Performance Optimierung bei Index Update mittels asynchronem thread (experimentell nur nach Rücksprache mit Support)] [ VOLLTEXT, Einstellungen Volltextindizierung (V50), Nr: 109 - Index Aktualisierung bei Lucene mit Cache falls 503 nicht aktiv (V55) ] NEUINSTALLATION: In einer BüroWARE 5.5x Neuinstallation ist die Suche bereits über folgende Zugriffsrechte aktiviert: [ VOLLTEXT, Einstellungen Volltextindizierung (V50), Nr: 106 - Volltextsuche mit Lucene (V55) ] [ VOLLTEXT, Einstellungen Volltextindizierung (V50), Nr: 109 - Index Aktualisierung bei Lucene mit Cache falls 503 nicht aktiv (V55) ] Ist nur das Recht 106 aktiviert so wird der Index sofort nach erstellen des Datensatzes angelegt. ES FOLGEN WICHTIGE HINWEISE: 1) Unterschiede ZGR VOLLTEXT, Nr. 503 / 109 bis BüroWARE 5.56 503 indiziert der BüroWARE/WEBWARE-Thread selbst im 5-Sekunden-Intervall die angefallenen Update-Aufträge. Ab BüroWARE 5.57 wurde das ZGR VOLLTEXT Nr.108 deaktiviert. 109 werden die Index Update-Aufträge ebenfalls gesammelt, aber einem neuen Unter-Thread übergeben und ebenfalls alle 5 Sekunden verarbeitet. Das ZGR 108 hat gegenüber dem ev. aktivierten 109er immer Vorrang. Vorteile: bis BüroWARE 5.56 Nur 106: 503 : Da keine Abstimmung zwischen den einzelnen Threads notwendig ist kommt es nicht zu Problemen beim gleichzeitigen Zugriff zweier Threads auf gemeinsame Resourcen. 109 : BüroWARE Hauptthread kann ohne Unterbrechungen weiterarbeiten Nachteile: bis BüroWARE 5.56 Nur 106: Bei großen Datenveränderungen (zB. Datenimport) wird jeder Datensatz sofort indiziert. Dies benötigt entsprechend mehr Performance. 503 : Bei massiven Datenänderungen (zB. Import) kann BüroWARE/WEBWARE etwas "ruckeln", nämlich dann, wenn der Haupt-Thread neben der "normalen" Tätigkeit auch den Volltext indizieren muss. 109: Beim Prozesshandling des Haupt- und Unter-Threads kann derzeit noch zu möglichen Abstürzen kommen. ============================================================= 2) Index: Der Indizes der Volltextsuche LUCENE werden ausschließlich über die Internen Texte über den Volltextindex 1 gebildet (zB. Index 4438 für Adressdatenindex 1). Volltextindex 2-5 werden derzeit nicht verwendet. ============================================================= 3) Suche: 1x STRG + S - Suche mit der Zeile über der Auswahltabelle: Hier wird nur innerhalb der Felder gesucht, die zum einen in der Auswahltabelle (auch wenn diese den Status Gesperrt haben) und zum anderen im Indexaufbau der internen Texte vorkommt. Beispiel: Ist das Feld Vorname in den internen Texten indiziert, aber ist nicht Bestandteil der Auswahltabelle, kann kein Inhalt des Feldes Vorname gefunden werden. Hinweis: Nach Einbinden der Felder in die Auswahltabelle sollte eine Volltextreorg durchgeführt werden. 2x STRG + S - Suche mit Suchdialog (Maske): Hier werden sämtliche Felder des Indexes aus den internen Texten gezeigt und markiert. Also sucht man in allen über die internen Texten indizierten Felder, auch wenn Sie kein Bestandteil der Auswahltabelle sind. Man kann hier durch demarkieren einzelner Felder diese von der Suche ausnehmen. ============================================================= 4) Update: Updatet man eine bestehende Version auf eine 5.5x, so muss man die Rechte manuell einschalten und im Anschluss eine Volltextreorganisation durchführen. ============================================================= 5) Debuggen/Protokollierung: Hierzu muss im BW/WW-Installationsverzeichnis (WW: APP) die Datei bwlog.ini mit folgenden Inhalt existieren: [categories] bw.lucene.com=debug,bw.lucene.txt [output] date=1 time=1 level=1 user=0 category=1 In der Sektion [categories] steht hinter dem Istgleich zunächst der Detailgrad. trace heißt es wird alles angezeigt, fatal nur schwerwiegende Fehler. ACHTUNG: Die Ausgabedatei (hier: bw.lucene.txt) darf keines falls bw.lucene.log lauten, diese wird von Lucene intern verwendet. HINWEIS: Sollte es bereits eine bwlog.ini existieren, dann sollte diese unbedingt mit diesem Eintrag ergänzt werden. ============================================================= 6) Wichtiger Hinweis: Gesperrte Artikel werden NICHT indexiert! ============================================================= 7) Erweiterungen: Ab 01.06.2014 gibt es eine erweiterte Fassung der Lucene Suche (BüroWARE 5.56). Diese ist mit folgenden Zugriffsrecht aktivierbar: [ VOLLTEXT, Einstellungen Volltextindizierung (V50), Nr: 502 - BüroWARE Lucene COM-Komponente Version 2 verwenden ] Genauere Dokumentation befindet sich im Anhang. ============================================================= 8) Konfiguration per Konfig-File: Es ist möglich, die Lucene-Suche per Konfigfile zu konfigurieren. Die XML-Datei "bwlucene.config.xml" muss hierzu im BüroWARE Installationspfad angelegt werden. Beispiel für den Inhalt der bwlucene.confing.xml: <?xml version="1.0"?> <AnalyzeConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Assemblyname>BWAnalyzer</Assemblyname> <Version>1.1.1.0</Version> <PublicKeyToken>e15b0ac64cc753f4</PublicKeyToken> <Analyzerclass>BWAnalyzer.BWAnalyzer</Analyzerclass> </AnalyzeConfig> Über diese Einstellung wird ein eigener "Analyzer" bei der Suche verwendet. Dieser Analyzer arbeitet gegenüber dem von Lucene-Standardanalyzer so, dass Worttrenner nicht beachtet werden. Wird also nach "aa-bb" gesucht, wird dies als komplettes Wort gesehen und komplett nach "aa-bb" gesucht. Mit Standardanalyzer würde das "-" Zeichen als Worttrenner erkannt und die Suche würde nach "aa" & "bb" suchen. Hier eine BWLucene.config XML als Beispiel Datei. Achtung: Nach dem Einspielen der Datei ist eine Volltextreorg zwingend erforderlich um den neuen "Analyzer" zu verwenden. ============================================================= 9) Stopwörter in der Lucene-Suche Die Lucene-Suche verwendet sogenannte Stoppwörter (Stopwords). Diese sind: a, an, and, are, as, at, be, but, by, for, if, in, into, is, it, no, not, of, on, or, such, that, the, their, then, there, these, they, this, to, was, will, with Es handelt sich üblicherweise bei den Stoppwörtern um die am häufigsten vorkommenden Wörter einer Sprache. Deswegen werden diese bei einer Volltextsuche in der Regel ausgenommen. Dieses Verhalten kann aber umgangen werden, indem ein eigener Analyzer verwendet wird (siehe Punkt 8). ============================================================= 10) Autosearch (Autovervollständigung) [ALLGV54, Nr: 003 - Allgemeine Einstellungen VII (V54), Autosearch (Automatische Suche) für Tabellenspalten und Maskenfelder (V55)] mit diesem ZGR kann die Autosearch ein- bzw ausgeschalten werden. Die Trefferanzahl bei der Autovervollständigung lässt sich über den internen Text 8153 - Maximale Treffer für Anzeige von Autosearch Ergebnis anpassen.