Die Volltextsuchfunktion ermöglicht es Ihnen, nach dem Anfang eines Begriffs zu suchen. Dies wird Präfixsuche genannt. Um eine Präfixsuche auszuführen, geben Sie das Präfix an, nach dem Sie suchen wollen, gefolgt von einem Sternchen. Dies wird als Präfixbegriff bezeichnet.
Schlüsselwörter für die CONTAINS-Klausel können nicht bei einer Präfixsuche verwendet werden, außer sie sind Teil einer Phrase. Eine Liste von CONTAINS-Schlüsselwörter finden Sie unter CONTAINS-Suchbedingung.
Sie können auch mehrere Präfixausdrücke in einer Abfragezeichenfolge angeben, einschließlich innerhalb von Phrasen (z.B. '"shi* fab"'
).
Eine Liste aller Syntaxbeschränkungen bei der Präfixsuche finden Sie unter Zulässige Syntax für den Sternchen-Platzhalter (*).
Das folgende Beispiel fragt die Tabelle "MarketingInformation" nach Einträgen ab, die mit dem Präfix shi beginnen:
SELECT ID, ct.score, Description FROM MarketingInformation CONTAINS ( MarketingInformation.Description, 'shi*' ) AS ct ORDER BY ct.score DESC; |
ID | score | Description |
---|---|---|
906 | 2,295363835537917 | <html><head><meta http-equiv=Content-Type content="text/html; charset=windows-1252"><title>Visor</title></head><body lang=EN-US><p><span
style='font-size:10.0pt;font-family:Arial'>Lightweight 100% organically grown cotton construction. Shields against sun and precipitation. Metallic ions in the fibers inhibit bacterial growth, and help neutralize odor.</span></p></body></html> |
901 | 1,6883275743936228 | <html><head><meta http-equiv=Content-Type content="text/html; charset=windows-1252"><title>Tee Shirt</title></head><body lang=EN-US><p><span style='font-size:10.0pt;font-family:Arial'>We've improved the design of this perennial
favorite. A sleek and technical shirt built for the trail, track, or sidewalk. UPF rating of 50+.</span></p></body></html> |
903 | 1,6336529491832605 | <html><head><meta http-equiv=Content-Type content="text/html; charset=windows-1252"><title>Tee Shirt</title></head><body lang=EN-US><p><span style='font-size:10.0pt;font-family:Arial'>A sporty, casual shirt made of recycled water bottles. It will serve you equally well on trails or around town. The fabric has a wicking finish
to pull perspiration away from your skin.</span></p></body></html> |
902 | 1,6181703448678983 | <html><head><meta http-equiv=Content-Type content="text/html; charset=windows-1252"><title>Tee Shirt</title></head><body lang=EN-US><p><span style='font-size:10.0pt;font-family:Arial'>This simple, sleek, and lightweight
technical shirt is designed for high-intensity workouts in hot and humid weather. The recycled polyester fabric is gentle on the earth
and soft against your skin.</span></p></body></html> |
ID 906 hat die höchste Punktezahl, weil der Begriff "shield" im Textindex weniger häufig als "shirt" vorkommt.
Bei GENERIC-Textindizes ist das Verhalten von Präfixsuchen folgendermaßen:
Wenn ein Präfixbegriff länger als MAXIMUM TERM LENGTH ist, wird er aus der Abfragezeichenfolge gelöscht, weil es keine Begriffe
im Textindex geben kann, die MAXIMUM TERM LENGTH überschreiten. Daher ist bei einem Textindex mit MAXIMUM TERM LENGTH 3 die
Suche nach 'red appl*'
gleichwertig mit der Suche nach 'red'
.
Wenn der Präfixbegriff kürzer als MINIMUM TERM LENGTH und nicht Teil einer Phrasensuche ist, wird die Präfixsuche normal durchgeführt.
Daher gibt bei einem GENERIC-Textindex mit MINIMUM TERM LENGTH 5 die Suche nach 'macintosh a*'
indizierte Zeilen zurück, die "macintosh" enthalten, sowie alle Begriffe, deren Länge 5 oder größer ist, die mit "a" beginnen.
Wenn ein Präfixbegriff kürzer als MINIMUM TERM LENGTH, aber Teil einer Phrasensuche ist, wird der Präfixbegriff aus der Abfrage
gelöscht. Daher ist bei einem GENERIC-Textindex, bei dem MINIMUM TERM LENGTH 5 ist, die Suche nach '"macintosh appl* turnover"'
gleichwertig mit einer Suche nach "macintosh", gefolgt von einem beliebigen Begriff, dem "turnover" nachfolgt. Eine Zeile,
die "macintosh turnover"
enthält, wird nicht gefunden, da es einen Begriff zwischen "macintosh" und "turnover" geben muss.
Bei NGRAM-Textindizes kann eine Präfixsuche unerwartete Ergebnisse zurückgeben, weil ein NGRAM-Textindex nur N-Gramme und keine Informationen über den Anfang von Begriffen enthält. Abfragebegriffe werden ebenfalls in N-Gramme aufgeteilt und die Suche wird unter Verwendung der N-Gramme, und nicht der Abfragebegriffe, durchgeführt. Aus diesem Grund sollte das folgende Verhalten beachtet werden:
Wenn ein Präfixbegriff kürzer als die N-Gramm-Länge (MAXIMUM TERM LENGTH) ist, gibt die Abfrage alle indizierten Zeilen zurück,
die N-Gramme enthalten, welche mit dem Präfixbegriff beginnen. Bei einem 3-grams-Textindex gibt die Suche nach 'ea*'
beispielsweise alle indizierten Zeilen zurück, die N-Gramme enthalten, welche mit "ea" beginnen. Wenn daher die Begriffe
"weather" und "fear" indiziert wurden, würden die Zeilen als Übereinstimmungen angesehen werden, da ihre N-Gramme "eat" bzw.
"ear" enthalten.
Wenn ein Präfixbegriff länger als die N-Gramme-Länge und weder Teil einer Phrase noch ein Argument in einer Nachbarschaftssuche
ist, wird der Präfixbegriff in einen N-Gramm-Phrase umgewandelt und das Sternchen gelöscht. Bei einem 3-gram-Textindex ist
die Suche nach 'purple blac*'
beispielsweise gleichwertig mit der Suche nach '"pur urp rpl ple" AND "bla lac"'
.
Im Fall von Phrasen gibt es auch folgendes Verhalten:
Wenn der Präfixbegriff der einzige Begriff in der Phrase ist, wird er in eine N-Gramm-Phrase umgewandelt und das Sternchen
gelöscht. Bei einem 3-gram-Textindex ist die Suche nach '"purpl*"'
beispielsweise gleichwertig mit der Suche nach '"pur urp rpl"'
.
Wenn sich der Präfixbegriff an der letzten Position der Phrase befindet, wird das Sternchen gelöscht und die Begriffe werden
zu einer Phrase aus N-Grammen umgewandelt. Bei einem 3-gram-Textindex ist die Suche nach '"purple blac*"'
beispielsweise gleichwertig mit der Suche nach '"pur urp rpl ple bla lac"'
.
Wenn sich der Präfixbegriff nicht an der letzten Position der Phrase befindet, wird die Phrase in Phrasen aufgeteilt, die
durch AND miteinander verbunden sind. Bei einem 3-gram-Textindex ist die Suche nach '"purp* blac*"'
beispielsweise gleichwertig mit der Suche nach '"pur urp" AND "bla lac"'
.
Wenn ein Präfixbegriff ein Argument in einer Nachbarschaftssuche ist, wird die Nachbarschaftssuche zu einem AND umgewandelt.
Bei einem 3-gram-Textindex ist die Suche nach 'red NEAR[1] appl*'
beispielsweise gleichwertig mit der Suche nach 'red AND "app ppl"'
.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |