CONTAINSTABLE-Syntax
Wir verwenden normalerweise CONTAINSTABLE in der FROM-Klausel, etwa so: SELECT * FROM
Tabellenname, CONTAINTABLE (Volltexttabelle, Volltextspalte, 'Suchbedingung') WHERE
…….
CONTAINSTABLE ist in der Abfragemethode fast dasselbe wie CONTAINS, daher besteht keine Notwendigkeit, auf Details einzugehen. ENTHALTBAR
Zurückgegeben wird eine Tabelle, die die Abfragebedingungen erfüllt. Wir können sie als normale Tabelle in SQL-Anweisungen verwenden.
Sehen wir uns ein Beispiel an, um die Unterschiede zwischen diesen beiden Tabellen zu vergleichen.
AUSWÄHLEN
FT_TBL.student_name,FT_TBL.student_score,KEY_TBL.RANK
FROM report AS FT_TBL
INNER JOIN
CONTAINSTABLE( student,address,
'ISABOUT (Stadtgewicht
(.8), County Wright (.4))' ) AS KEY_TBL
ON FT_TBL.student_id =
KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK
CONTAINSTABLE
Die zurückgegebene Tabelle enthält zwei spezielle Spalten: KEY, RANK.
Im ersten Teil haben wir betont, dass die Tabelle, die im Volltext indiziert werden soll, einen eindeutigen Index haben muss. Diese eindeutige Indexspalte wird
SCHLÜSSEL. Wir verwenden es normalerweise als Bedingung für Tabellenverknüpfungen.
Bei der Suche auf einigen Websites wird in den Ergebnissen eine Zahl angezeigt, die den Grad der Übereinstimmung angibt, RANK
Ähnlich wie hier. Sein Wert reicht von 0 bis 1000 und gibt den Grad der Übereinstimmung jeder Zeile mit den Abfragebedingungen an. Je höher der Grad, desto größer der Wert von RANK. Normalerweise sind die Zeilen in absteigender Reihenfolge von RANK angeordnet.
FREETEXT
Die Syntax
FREETEXT ähnelt CONTAINS, ist jedoch nicht so präzise wie CONTAINS. In CONTAINS gibt es viele Anforderungen zum Schreiben von Abfragebedingungen und
FREETEXT existiert nicht, es kann ein beliebiges Wort, eine Phrase oder ein Satz sein. Sehen Sie sich das folgende Beispiel an:
SELECT CategoryName
FROM
Kategorien
WHERE FREETEXT (Beschreibung,
'süßestes Süßigkeitenbrot und Trockenfleisch' )
FREETEXTABLE-Syntax
und CONTAINSTABLE
Ebenso gibt FREETEXTTABLE eine Tabelle mit KEY, RANK zurück. Beispiel:
SELECT FT_TBL.CategoryName,
FT_TBL.Description,
KEY_TBL.RANK
FROM Kategorien AS FT_TBL
INNER JOIN
FREETEXTABLE(Kategorien, Beschreibung,
'süßeste Süßigkeit
Brot und Trockenfleisch') AS KEY_TBL
ON FT_TBL.CategoryID = KEY_TBL.[KEY]
at
Verwenden Sie die Volltextsuche in ASP
Dim cnn
Dim
rs
Dim strSQL
strSQL = "SELECT book_name " &_
" "FROM
Bücher " &_
"WHERE CONTAINS( Beschreibung, '" &
Request("search_condition") & "' )"
Setzen Sie cnn =
Server.CreateObject("ADODB.Connection")
Setze rs =
Server.CreateObject("ADODB.RecordSet")
cnn.Open "PRovider=sqloledb;datasource=.;initial
Catalog=books;user id=sa;pasWord=;"
rs.Open
strSQL,cnn
Das obige Beispiel ist sehr einfach und dient nur zur Veranschaulichung. Solange Sie die Syntax von CONTAINS und CONTAINSTABLE beherrschen, ist die Verwendung dieselbe wie die von general
Identisch mit ADO-Abfragen.
Das Obige ist der Inhalt der Volltext-Retrieval-Anwendung (3). Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (m.sbmmt.com).