Ändert ein Textkonfigurationsobjekt
ALTER TEXT CONFIGURATION [ owner.]config-name STOPLIST stoplist-string | DROP STOPLIST | { MINIMUM | MAXIMUM } TERM LENGTH integer } | TERM BREAKER { GENERIC [ EXTERNAL NAME external-call ] | NGRAM } | PREFILTER EXTERNAL NAME external-call | DROP PREFILTER | SAVE OPTION VALUES [ FROM CONNECTION ]
external-call : '[ operating-system: ]library-function-name@library-name[;...]'
operating-system : UNIX
STOPLIST-Klausel
Verwenden Sie diese Klausel, um die Liste der zu ignorierenden Begriffe beim Aufbau des Textindexes zu erstellen oder
zu ersetzen. Bei Verwendung dieses Textkonfigurationsobjekts werden in dieser Liste angegebene Begriffe auch in einer Abfrage
ignoriert. Trennen Sie die Begriffe in der Stoppliste durch Leerstellen. Zum Beispiel: STOPLIST 'because about therefore only'
. Begriffe in der Stoppliste können keine Leerstellen enthalten.
Beispiele von Stopplisten für verschiedene Sprachen finden Sie in %SQLANYSAMP16% \SQLAnywhere\SQL.
Begriffe in einer Stoppliste dürfen keine nicht-alphanumerischen Zeichen enthalten. Die Stopplistenlänge muss kleiner als 8000 Byte sein.
Überlegen Sie gut, ob Sie Begriffe in Ihre Stoppliste aufnehmen wollen.
DROP STOPLIST-Klausel Mit dieser Klausel löschen Sie die Stoppliste für ein Textkonfigurationsobjekt.
MINIMUM TERM LENGTH-Klausel Der in der Klausel MINIMUM TERM LENGTH angegebene Wert wird ignoriert, wenn NGRAM-Textindizes verwendet werden.
Die in Zeichen angegebene Mindestlänge eines Begriffs, der in den Textindex aufzunehmen ist. Begriffe, die kürzer als diese Einstellung sind, werden beim Aufbau oder bei der Aktualisierung des Textindexes ignoriert. Der Wert dieser Option muss größer als 0 sein. Wenn Sie diese Option höher ansetzen als MAXIMUM TERM LENGTH, wird der Wert von MAXIMUM TERM LENGTH automatisch so berichtigt, dass er dem neuen Wert für MINIMUM TERM LENGTH entspricht.
MAXIMUM TERM LENGTH-Klausel Verwenden Sie bei NGRAM-Textindizes die MAXIMUM TERM LENGTH-Klausel zum Festlegen der Größe der N-Gramme, in die Zeichenfolgen aufgeteilt werden.
Bei GENERIC-Textindizes können Sie mit MAXIMUM TERM LENGTH die in Zeichen angegebene Maximallänge eines Begriffs festlegen, der in den Textindex aufzunehmen ist. Begriffe, die länger als diese Einstellung sind, werden beim Aufbau oder bei der Aktualisierung des Textindexes ignoriert. Der Wert von MAXIMUM TERM LENGTH muss kleiner oder gleich 60 sein. Wenn Sie diese Option niedriger ansetzen als MINIMUM TERM LENGTH, wird der Wert von MINIMUM TERM LENGTH automatisch so berichtigt, dass er dem neuen Wert für MAXIMUM TERM LENGTH entspricht.
TERM BREAKER-Klausel Der Name des Algorithmus, der für das Trennen von Spaltenwerten in Begriffe verwendet werden soll. Zur Auswahl stehen GENERIC (Standardwert) oder NGRAM.
GENERIC Bei GENERIC können Sie TERM BREAKER GENERIC angeben, um den integrierten Begriffsegmentierer-Algorithmus GENERIC zu verwenden, oder mithilfe der TERM BREAKER GENERIC EXTERNAL NAME-Klausel einen externen Algorithmus angeben.
Der integrierte Algorithmus GENERIC verarbeitet Zeichenfolgen mit einem oder mehr alphanumerischen Zeichen, die durch nicht-alphanumerische Zeichen getrennt sind, als Begriff.
Geben Sie die TERM BREAKER GENERIC EXTERNAL NAME-Klausel an, um einen Eintrittspunkt für eine Begriffsegmentierer-Funktion in einer externen Bibliothek festzulegen. Dies ist nützlich, wenn Sie spezielle Anforderungen hinsichtlich der Frage haben, wie Begriffe vor dem Indizieren oder Abfragen aufgeteilt werden sollen (zum Beispiel, wenn ein Apostroph als Teil eines Begriffs und nicht als Begriffsegmentierer gelten soll).
external-call kann mehr als eine Funktion und/oder Bibliothek angeben sowie die Dateierweiterung der Bibliothek enthalten, normalerweise
.dll unter Windows und .so unter Unix. Ohne Angabe der Dateierweiterung verwendet der Datenbankserver standardmäßig die plattformspezifische Dateierweiterung
für Bibliotheken. Zum Beispiel ruft EXTERNAL NAME 'TermBreakFunct1@myTBlib;Unix:TermBreakFunct2@myTBlib'
unter Windows die Funktion TermBreakFunct1 aus myTBlib.dll auf und unter Unix die Funktion TermBreakFunct2 aus myTBlib.so.
NGRAM Der integrierte NGRAM-Algorithmus teilt Zeichenfolgen in N-Gramme auf. Ein N-Gramm ist eine n- Teilzeichenfolge einer größeren Zeichenfolge. Der NGRAM-Begriffsegmentierer ist für angenäherte Übereinstimmungen ("fuzzy matching") oder für Dokumente erforderlich, in denen keine Leerstellen oder nicht-alphanumerischen Zeichen für die Trennung von Begriffen verwendet werden, sofern kein externer Begriffsegmentierer angegeben ist.
PREFILTER EXTERNAL NAME-Klausel Geben Sie die PREFILTER EXTERNAL NAME-Klausel an, um einen Eintrittspunkt für eine Vorfilterfunktion in einer externen Bibliothek festzulegen. Dies ist hilfreich, wenn Text aus binären Daten (z.B. PDF) extrahiert werden muss. Darüber hinaus ist es hilfreich, wenn der zu indizierende Text Formatierungsinformationen und/oder Bilder enthält, die Sie vor der Indizierung der Daten entfernen möchten (z.B. HTML).
external-call kann mehr als eine Funktion und/oder Bibliothek angeben sowie die Dateierweiterung der Bibliothek enthalten, normalerweise
.dll unter Windows und .so unter Unix. Ohne Angabe der Dateierweiterung verwendet der Datenbankserver standardmäßig die plattformspezifische Dateierweiterung
für Bibliotheken. Zum Beispiel ruft PREFILTER EXTERNAL NAME 'PrefilterFunct1@myPreFilterlib;Unix:PrefilterFunct2@myPreFilterlib'
unter Windows die Funktion PrefilterFunct1 aus myPreFilterlib.dll auf und unter Unix die Funktion PrefilterFunct2 aus myPreFilterlib.so.
DROP PREFILTER-Klausel Verwenden Sie die DROP PREFILTER-Klausel, um die Verwendung der angegebenen Vorfilter-Bibliothek für das Textkonfigurationsobjekt auszuschließen. Damit werden die Vorfilter nicht mehr ausgeführt, wenn der Datenbankserver Indizes aufbaut, für die dieses Textkonfigurationsobjekt verwendet wird.
SAVE OPTION VALUES-Klausel Wenn ein Textkonfigurationsobjekt erstellt wird, spiegeln die aktuellen Datenbankoptionen date_format, time_format, timestamp_format und timestamp_with_time_zone_format wider, wie die Spalten DATE, TIME und TIMESTAMP mit dem Textkonfigurationsobjekt gespeichert werden. Verwenden Sie die SAVE OPTION VALUES-Klausel zum Aktualisieren der für das Textkonfigurationsobjekt gespeicherten Optionswerte, damit diese die für die Verbindung aktiven Optionen widerspiegeln.
Bevor Sie die Einstellungen für die Begriffslänge ändern, lesen Sie die Hinweise zu den Auswirkungen der jeweiligen Einstellungen auf den Indizierungsumfang und die Interpretation der Suchbegriffe.
Textindizes sind von einem Textkonfigurationsobjekt abhängig. Bevor Sie diese Anweisung verwenden, müssen Sie abhängige AUTO- oder MANUAL REFRESH-Textindizes kürzen und IMMEDIATE REFRESH-Textindizes löschen.
Um die Einstellungen für Textkonfigurationsobjekte anzuzeigen, führen Sie eine Abfrage in der SYSTEXTCONFIG-Systemansicht durch.
Sie müssen Eigentümer des Textkonfigurationsobjekts sein oder eines der folgenden Privilegien haben:
Wenn Sie einen externen Begriffsegmentierer ändern möchten, müssen Sie außerdem das CREATE EXTERNAL REFERENCE-Systemprivileg haben.
Wenn Sie einen Vorfilter angeben oder löschen bzw. einen externen Begriffsegmentierer angeben, benötigen Sie darüber hinaus das ALTER ANY TEXT-Systemprivileg CONFIGURATION oder das ALTER ANY OBJECT-Systemprivileg.
Automatisches Festschreiben (Autocommit).
SQL/2008 Erweiterung des Herstellers.
Die folgenden Anweisungen erstellen das Textkonfigurationsobjekt "myTextConfig" und setzen anschließend die Begriff-Höchstlänge auf 16. Um diese Anweisung ausführen zu können, benötigen Sie das CREATE TEXT CONFIGURATION-Systemprivileg:
CREATE TEXT CONFIGURATION myTextConfig FROM default_char; ALTER TEXT CONFIGURATION maxTerm16 MAXIMUM TERM LENGTH 16; |
Die folgende Anweisung fügt dem Konfigurationsobjekt "myTextConfig" eine Stoppliste hinzu:
ALTER TEXT CONFIGURATION myTextConfig STOPLIST 'because about therefore only'; |
Mit der folgenden Anweisung wird ein externer Begriffsegmentierer für das Textkonfigurationsobjekt myTextConfig konfiguriert. Die Schnittstelle wird sowohl für Windows als auch für Unix angegeben.
ALTER TEXT CONFIGURATION myTextConfig TERM BREAKER GENERIC EXTERNAL NAME 'my_termbreaker@termbreaker.dll;Unix:my_termbreaker@libtermbreaker_r.so' |
Im folgenden Beispiel wird ein externer Vorfilter für das Textkonfigurationsobjekt myTextConfig konfiguriert. Die Schnittstelle wird sowohl für Windows als auch für Unix angegeben.
ALTER TEXT CONFIGURATION myTextConfig PREFILTER EXTERNAL NAME 'html_xml_filter@html_xml_filter.dll;UNIX:html_xml_filter@libhtml_xml_filter_r.so'; |
Im folgenden Beispiel wird der externe Vorfilter für das Textkonfigurationsobjekt myTextConfig gelöscht.
ALTER TEXT CONFIGURATION myTextConfig DROP PREFILTER; |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |