Heim > Datenbank > MySQL-Tutorial > Hauptteil

Anwendung der Volltextsuche(3)

黄舟
Freigeben: 2016-12-17 15:02:15
Original
1104 Leute haben es durchsucht

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 (www.php.cn).


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage