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 » Arten der Volltextsuche

 

Nachbarschaftssuche

Die Volltext-Suchfunktion ermöglicht es Ihnen, nach Begriffen zu suchen, die in einer einzigen Spalte nahe beieinander liegen. Dies wird Nachbarschaftssuche genannt. Um eine Nachbarschaftssuche durchzuführen, geben Sie zwei Begriffe an, zwischen denen entweder das Schlüsselwort NEAR oder eine Tilde (~) steht.

Sie können ein Ganzzahlargument mit dem NEAR-Schlüsselwort angeben, um die maximale Entfernung festzulegen. Beispiel: Begriff1 NEAR[5] Begriff2 findet Instanzen von Begriff1, die innerhalb von fünf Begriffen um Begriff2 auftreten. Die Reihenfolge der Begriffe ist nicht von Bedeutung: 'term1 NEAR term2' ist gleichwertig mit 'term2 NEAR term1'.

Wenn Sie keine Entfernung angeben, verwendet der Datenbankserver 10 als Standardentfernung.

Sie können auch anstelle des NEAR-Schlüsselworts eine Tilde (~) verwenden. Beispiel: , 'Begriff1 ~ Begriff2'. Sie können allerdings keine Entfernung angeben, wenn Sie die Tildenform verwenden, und es wird der Standardwert von zehn Begriffen verwendet.

Sie können nicht eine Phrase als Argument in Nachbarschaftssuchen angeben.

Wenn Sie in einer Nachbarschaftssuche einen Präfixbegriff als Argument angeben, wird die Nachbarschaftssuche in einen AND-Ausdruck umgewandelt. Bei einem 3-gram-Textindex ist die Suche nach 'red NEAR[1] appl*' beispielsweise gleichwertig mit der Suche nach 'red AND "app ppl"'. Da dies nicht länger eine Nachbarschaftssuche ist, ist die Suche nicht mehr auf eine einzige Spalte beschränkt, falls mehrere Spalten in der CONTAINS-Klausel enthalten sind.

Beispiele

Angenommen, Sie wollen "MarketingInformation.Description" nach dem Begriff "fabric" innerhalb von 10 Begriffen um den Begriffs "skin" suchen. Sie können die folgende Anweisung ausführen.

SELECT ID, "contains".score, Description  
   FROM MarketingInformation CONTAINS ( Description, 'fabric ~ skin' );
ID score Description
902 1,5572371866083279 <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>

Da die Standardentfernung 10 Begriffe ist, müssen Sie keine Entfernung angeben. Wenn Sie jedoch die Entfernung um einen Begriff erweitern, wird eine andere Zeile zurückgegeben:

SELECT ID, "contains".score, Description 
   FROM MarketingInformation CONTAINS ( Description, 'fabric NEAR[11] skin' );
ID score Description
903 1,5787803210404958 <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 2,163125855043747 <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>

Die Punktezahl für ID 903 ist höher, weil die Begriffe näher beieinander liegen.