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

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfrage und Änderung von Daten » Volltextsuche » Konzepte und Referenz zu Textkonfigurationsobjekten » Angaben beim Erstellen oder Ändern von Textkonfigurationsobjekten

 

TERM BREAKER-Klausel - Angeben des Begriffsegmentiereralgorithmus

Die TERM BREAKER-Einstellung gibt den Algorithmus an, der für die Aufteilung von Zeichenfolgen in Begriffe verwendet wird. Zur Auswahl stehen GENERIC, um Begriffe, und NGRAM, um N-Gramme zu speichern. Bei GENERIC können Sie den integrierten Begriffsegmentieralgorithmus oder einen externen Begriffsegmentierer verwenden.

Die folgende Tabelle beschreibt die Auswirkungen des Werts von TERM BREAKER auf die Textindizierung und darauf, wie Abfragezeichenfolgen verarbeitet werden:

Textindizes Abfragezeichenfolgen
  • GENERIC-Textindex   Die Performance von GENERIC-Textindizes kann schneller sein als diejenige von NGRAM-Textindizes. Sie können allerdings keine Fuzzy-Suche in GENERIC-Textindizes durchführen.

    Beim Erstellen eines GENERIC-Textindexes mit dem integrierten Algorithmus werden Gruppen von alphanumerischen Zeichen, die zwischen nicht-alphanumerischen Zeichen auftreten, vom Datenbankserver als Begriffe verarbeitet und es werden ihnen Positionen zugewiesen.

    Beim Erstellen eines GENERIC-Textindexes mit einer externen Begriffsegmentiererbibliothek, werden Begriffe und ihre jeweilige Position durch die externe Bibliothek definiert.

    Sobald die Begriffe durch den Begriffsegmentierer identifiziert wurden, wird jeder Begriff, der die Einschränkungen für die Begriffslänge nicht erfüllt oder in der Stoppliste enthalten ist, zwar gezählt, aber nicht in den Textindex eingefügt.

  • NGRAM-Textindex   Ein N-Gramm ist eine Gruppe von Zeichen mit der Länge n, wobei n der Wert von MAXIMUM TERM LENGTH ist.

    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.

    Bei N-Grammen werden die Positionsinformationen der N-Gramme gespeichert, und nicht die Positionsinformationen für die ursprünglichen Begriffe.

Bei der syntaktischen Analyse einer CONTAINS-Abfrage extrahiert der Datenbankserver Schlüsselwörter und Sonderzeichen aus der Abfragezeichenfolge und wendet anschließend den Begriffsegmentieralgorithmus auf die verbleibenden Begriffe an. Wenn beispielsweise die Abfragezeichenfolge 'ab_cd* AND b*' ist, werden das Sternchen * und das Schlüsselwort AND extrahiert und die Zeichenfolgen ab_cd und b werden dem jeweiligen Begriffsegmentieralgorithmus zur getrennten syntaktischen Analyse übergeben.

  • 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.

Sofern nicht anders definiert, wird der Standardwert für TERM BREAKER von der Einstellung im Standard-Textkonfigurationsobjekt bezogen. Wenn kein Begriffsegmentierer im Standard-Textkonfigurationsobjekt definiert ist, wird der interne Begriffsegmentierer verwendet.

 Siehe auch