Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Daten abfragen und ändern » Daten abfragen » Textkonfigurationsobjekte

 

Einstellungen für Textkonfigurationsobjekte

SQL Anywhere stellt zwei Standard-Textkonfigurationsobjekte bereit, default_char für die Verwendung mit Nicht-NCHAR-Daten und default_nchar. Hinweise über ihre Einstellungen finden Sie unter Standard-Textkonfigurationsobjekte.

Die folgende Tabelle beschreibt Einstellungen für Textkonfigurationsobjekte und wie sie sich darauf auswirken, was indiziert und wie eine Volltextsuchabfrage interpretiert wird. Beispiele für Textkonfigurationsobjekte und ihre Auswirkung auf Textindizes und Volltextsuche finden Sie unter Beispiel-Textkonfigurationsobjekte.

  • Begriffsegmentieralgorithmus (TERM BREAKER)   Die TERM BREAKER-Einstellung gibt den Algorithmus an, der für die Aufteilung von Zeichenfolgen in Begriffe verwendet wird. Zur Auswahl stehen GENERIC (Standardwert), um Begriffe, und NGRAM, um N-Gramme zu speichern. Ein N-Gramm ist eine Gruppe von Zeichen mit der Länge n, wobei n der Wert von MAXIMUM TERM LENGTH ist.

    Unabhängig vom angegebenen Begriffsegmentierer zeichnet der Datenbankserver im Textindex die ursprünglichen Positionsinformationen für die Begriffe auf, wenn sie in den Textindex eingefügt werden. Bei N-Grammen werden die Positionsinformationen der N-Gramme gespeichert, und nicht die Positionsinformationen für die ursprünglichen Begriffe.

    TERM BREAKER-Auswirkung auf Textindizes TERM BREAKER-Auswirkung auf Abfragebegriffe

    GENERIC-Textindex   Beim Aufbau eines GENERIC-Textindexes werden Gruppen von alphanumerischen Zeichen, die zwischen nicht-alphanumerischen Zeichen auftreten, vom Datenbankserver als Begriffe abgearbeitet. Nachdem die Begriffe definiert wurden, werden Begriffe, die die Einstellungen für die Begriffslänge überschreiten, und Begriffe, die in der Stoppliste gefunden werden, zwar gezählt, aber nicht in den Textindex eingefügt.

    Die Performance kann bei GENERIC-Textindizes schneller als bei NGRAM-Textindizes sein. Sie können allerdings keine Fuzzy-Suche in GENERIC-Textindizes durchführen.

    NGRAM-Textindex   Wenn er einen NGRAM-Textindex aufbaut, behandelt der Datenbankserver jede Gruppe von alphanumerischen Zeichen zwischen nicht-alphanumerischen Zeichen wie einen Begriff. Wenn die Begriffe definiert sind, teilt der Datenbankserver die Begriffe in N-Gramme auf. Während dieses Vorgangs werden Begriffe, die kürzer als n sind, und N-Gramme, die in der Stoppliste enthalten sind, verworfen.

    Beispiel: Bei einem NGRAM-Textindex mit MAXIMUM TERM LENGTH 3 wird die Zeichenfolge 'my red table' im Textindex als folgendes N-Gramm dargestellt: red tab abl ble.

    GENERIC-Textindex   Bei der Abfrage eines GENERIC-Textindexes werden Begriffe in der Abfragezeichenfolge so abgearbeitet, als ob sie indiziert würden. Eine Übereinstimmung wird festgestellt, indem Abfragebegriffe mit Begriffen im Textindex verglichen werden.

    NGRAM-Textindex   Bei der Abfrage eines NGRAM-Textindexes werden Begriffe in der Abfragezeichenfolge so abgearbeitet, als ob sie indiziert würden. Eine Übereinstimmung wird festgestellt, indem N-Gramme aus den Abfragebegriffen mit N-Grammen aus den indizierten Begriffen verglichen werden.

  • Begriff-Mindestlängeneinstellung (MINIMUM TERM LENGTH)   Die MINIMUM TERM LENGTH-Einstellung gibt die Mindestlänge (in Zeichen) für Begriffe an, die in den Index eingefügt werden oder nach denen in einer Volltextabfrage gesucht wird. MINIMUM TERM LENGTH hat für NGRAM-Textindizes keine Relevanz.

    MINIMUM TERM LENGTH hat spezielle Auswirkungen bei der Präfixsuche. Weitere Hinweise finden Sie unter Präfixsuche.

    Der Wert von MINIMUM TERM LENGTH muss größer als 0 sein. Wenn Sie den Wert größer als MAXIMUM TERM LENGTH setzen, wird MAXIMUM TERM LENGTH automatisch angepasst, um gleich groß wie MINIMUM TERM LENGTH zu sein.

    Der Standardwert für MINIMUM TERM LENGTH wird von der Einstellung im Standard-Textkonfigurationsobjekt bezogen, die üblicherweise 1 ist. Weitere Hinweise finden Sie unter Standard-Textkonfigurationsobjekte.

    MINIMUM TERM LENGTH-Auswirkung auf Textindizes MINIMUM TERM LENGTH-Auswirkung auf Abfragebegriffe

    GENERIC-Textindex   Bei GENERIC-Textindizes enthält der Textindex keine Wörter, die kürzer als MINIMUM TERM LENGTH sind.

    NGRAM-Textindex   Bei NGRAM-Textindizes wird diese Einstellung ignoriert.

    GENERIC-Textindex   Wenn ein GENERIC-Textindex abgefragt wird, werden Abfragebegriffe, die kürzer als MINIMUM TERM LENGTH sind, ignoriert, weil sie nicht im Textindex vorkommen können.

    NGRAM-Textindex   Die MINIMUM TERM LENGTH-Einstellung hat bei Volltextabfragen in NGRAM-Textindizes keine Auswirkung.

  • Begriff-Höchstlängeneinstellung (MAXIMUM TERM LENGTH)   Die MAXIMUM TERM LENGTH-Einstellung wird, abhängig vom Begriffsegmentieralgorithmus, unterschiedlich verwendet.

    Der Wert von MAXIMUM TERM LENGTH muss kleiner oder gleich 60 sein. Wenn Sie den Wert kleiner als MINIMUM TERM LENGTH setzen, wird MINIMUM TERM LENGTH automatisch angepasst, um gleich groß wie MAXIMUM TERM LENGTH zu sein.

    Der Standardwert für diese Einstellung wird von der Einstellung im Standard-Textkonfigurationsobjekt bezogen, die üblicherweise 20 ist. Weitere Hinweise finden Sie unter Standard-Textkonfigurationsobjekte.

    MAXIMUM TERM LENGTH-Auswirkung auf Textindizes MAXIMUM TERM LENGTH-Auswirkung auf Abfragebegriffe

    GENERIC-Textindizes   Bei GENERIC-Textindizes gibt MAXIMUM TERM LENGTH die Höchstlänge (in Zeichen) für Begriffe an, die in den Textindex eingefügt werden.

    NGRAM-Textindex   Bei NGRAM-Textindizes legt MAXIMUM TERM LENGTH die Länge der N-Gramme fest, in die Begriffe aufgeteilt werden. Die entsprechende Auswahl eines Werts für MAXIMUM TERM LENGTH hängt von der Sprache ab. Üblich sind 4 oder 5 Zeichen für Englisch und 2 oder 3 Zeichen für Chinesisch.

    GENERIC-Textindizes   Bei GENERIC-Textindizes werden Abfragebegriffe ignoriert, die länger als MAXIMUM TERM LENGTH sind, weil sie im Textindex nicht vorkommen können.

    NGRAM-Textindex   Bei NGRAM-Textindizes werden Abfragebegriffe in N-Gramme der Länge n aufgeteilt, wobei n dasselbe wie MAXIMUM TERM LENGTH ist. Anschließend verwendet der Datenbankserver die N-Gramme, um den Textindex zu durchsuchen. Begriffe, die kürzer als MAXIMUM TERM LENGTH sind, werden ignoriert, weil sie nicht mit den N-Grammen im Textindex übereinstimmen werden.

  • Stopplisteneinstellung (STOPLIST)   Die Stopplisteneinstellung gibt die Begriffe an, die nicht indiziert werden dürfen.

    Der Standardwert für diese Einstellung wird von der Einstellung im Standard-Textkonfigurationsobjekt bezogen, die üblicherweise eine leere Stoppliste ist. Weitere Hinweise finden Sie unter Standard-Textkonfigurationsobjekte.

    STOPLIST-Auswirkung auf Textindizes STOPLIST-Auswirkung auf Abfragebegriffe

    GENERIC-Textindizes   Bei GENERIC-Textindizes werden Begriffe, die in der Stoppliste enthalten sind, nicht in den Textindex eingefügt.

    NGRAM-Textindex   Bei GENERIC-Textindizes wird der Textindex nicht die N-Gramme enthalten, die aus den Begriffen in der Stoppliste geformt wurden.

    GENERIC-Textindizes   Bei GENERIC-Textindizes werden Abfragebegriffe ignoriert, die in der Stoppliste enthalten sind, weil sie im Textindex nicht vorkommen können.

    NGRAM-Textindex   Begriffe in der Stoppliste werden in N-Gramme aufgeteilt und die N-Gramme werden für die Stoppliste verwendet. Gleichermaßen werden Abfragebegriffe in N-Gramme aufgeteilt und jene, die mit N-Grammen in der Stoppliste übereinstimmen, werden gelöscht, weil sie im Textindex nicht vorkommen können.

    Überlegen Sie gut, ob Sie Begriffe in Ihre Stoppliste aufnehmen wollen. Vor allem beziehen Sie keine Wörter ein, die nicht-alphanumerische Zeichen enthalten, wie z.B. Apostrophe oder Bindestriche. Diese Zeichen agieren als Begriffsegmentierer. Beispiel: Der Begriff "you'll" (der als 'you''ll' angegeben werden muss) wird in "you" und "ll" aufgeteilt und in der Stoppliste als diese zwei Begriffe gespeichert. Nachfolgende Volltextsuchen nach 'you' oder 'they''ll' werden fehlschlagen.

    Bei NGRAM-Textindizes können Stopplisten zu unerwarteten Ergebnissen führen, weil die gespeicherte Stoppliste die N-Gramm-Form hat und nicht aus den von Ihnen angegebenen Stopplistenbegriffen besteht. Beispiel: Wenn Sie bei einem NGRAM-Textindex, bei dem MAXIMUM TERM LENGTH 3 ist, STOPLIST 'there' eingeben, werden die folgenden N-Gramme als Stoppliste gespeichert: the her ere. Dies wirkt sich auf die Fähigkeit aus, Begriffe abzufragen, die die N-Gramme "the" "her" und "ere" enthalten.

    Hinweis

    Die Einschränkungen, die für die Angabe von Zeichenfolgenliteralen gelten, gelten auch für Stopplisten. So müssen beispielsweise Apostrophe mit Escapezeichen versehen werden, etc. Weitere Hinweise zur Formatierung von Zeichenfolgenliteralen finden Sie unter Zeichenfolgenliterale.

    Das Beispielverzeichnis enthält Beispielcode, der Stopplisten für mehrere Sprachen lädt. Es wird empfohlen, diese Beispiel-Stopplisten nur bei GENERIC-Textindizes zu verwenden. Den Speicherort des Beispielverzeichnisses finden Sie unter Beispielverzeichnis.

Siehe auch