/*Eine Testumgebung erstellen
WINXP(SP3)+SQL SERVER2005(SP3)*/
wenn object_id('tb') nicht null ist
Drop-Tisch TB
gehen
Tabelle tb erstellen
(id int identität(1,1),
Titel varchar(200),
Detail varchar(1000),
Einschränkung pk_id Primärschlüssel (ID) – erforderlich beim Erstellen eines Volltextindex
)
in TB einfügen
Wählen Sie „Die Rockets sind dabei, einen Rookie-Schützen zu verpflichten.“ Es wird berichtet, dass die Vertragsverhandlungen zwischen Budinger und den Rockets gestern abgeschlossen wurden und Budinger den gleichen Vertrag wie Taylor erhalten wird. Zuvor hatten die Medien verraten, dass Taylors Vertrag eine Laufzeit von vier Jahren hat und einen Gesamtwert von 10.000 US-Dollar hat, wobei es sich bei den ersten beiden Jahren um garantierte Verträge handelt. Budinger wird voraussichtlich in den nächsten Tagen offiziell seine Verpflichtung bei den Rockets bekannt geben. '
Gewerkschaft alle
wählen „Es wurde bekannt, dass Weaver einen Vertrag mit dem griechischen Giganten unterzeichnet hat“, „Laut International Basketball Network hat der ehemalige Rockets-Spieler Van Weaver einen Vertrag mit dem griechischen Giganten Olympiacos unterzeichnet.“ Weaver erhielt einen Zweijahresvertrag im Wert von 10.000 US-Dollar. '
Gewerkschaft alle
Wählen Sie „Die Spurs haben viel Geld ausgegeben, um gegen die Lakers zu kämpfen.“ Cheftrainer Greg Veach hat kürzlich in einem Interview mit Yahoo Sports mehrere Generäle eingestellt Die Luxussteuer soll ein Luxusgebäude bauen, um gegen die Lakers zu kämpfen und eine fünfte Meisterschaft anzustreben. '
Gewerkschaft alle
Wählen Sie „Wallace hat nie darüber nachgedacht, die Motor City zu verlassen“, „Ben Wallace hat zugestimmt, zu den Detroit Pistons zurückzukehren und einen Vertrag über 10.000 Dollar pro Jahr mit dem Mindestgehalt des Veteranen zu unterzeichnen“, so Kolumnist Mick McGraw enthüllte, dass der Innenverteidiger, der damals die NBA dominierte, nie auch nur daran gedacht hatte, die Pistons zu verlassen. '
Gewerkschaft alle
Wählen Sie „Miller ist so gut darin, für die Liebe zu kämpfen und seiner Frau nachzujagen“, „Für diejenigen „Hintermänner“, die noch nie gesehen haben, wie Reggie Miller „Miller Time“ mit den Pacers schuf, wie sollen wir diesen ehemaligen NBA-Star vorstellen? Könnte es mit dem Banner beginnen, das vorgestern von einem Flugzeug über Malibu Beach in Los Angeles gezogen wurde? Ich fürchte, kein Elternteil ist dazu bereit. '
Gewerkschaft alle
Wählen Sie „Yao Ming: Ich habe Shanghai nicht als Investitionsprojekt betrachtet, aber ich war froh, als guter Mensch Geschäfte zu machen.“ „Yao Mi“ sagte: Yao Ming, dem es an Werbeeffekten nicht mangelt, hat das erworben Der vom Aussterben bedrohte Shanghai Oriental Basketball Club zeigt, dass er wirklich seinen Lebensunterhalt für die ehemalige Muttermannschaft verdienen will. '
Gewerkschaft alle
Wählen Sie „Die Rockets haben gegen die Wizards verloren, um den Rekord des Jahres zu beenden.“ „Die Yao-Mai-Kombination war in dieser Saison in einer schlechten Verfassung. Yao Ming erzielte einen Rebound und einen Block bei einem Schuss, und McGrady erzielte einen Rebound und einen Assist bei.“ ein Schuss. Die beiden schafften gemeinsam einen Rebound. Jamieson hatte zwei Assists und zwei Blocks. '
Schritt 1: Aktivieren Sie die Volltextindizierung der Datenbank
sp_fulltext_database enable – Volltextindizierung der Datenbank aktivieren
gehen
Schritt 2: Erstellen Sie einen Volltextkatalog
Volltextkatalog tb_fulltext erstellen
im Pfad N'D:ProgrammeMicrosoft SQL Server2005MSSQL.1MSSQLFTData'
mit „accent_sensitivity =on“ – Akzente unterscheiden
Berechtigung dbo; – der Besitzer des Volltextkatalogs
Schritt 3: Volltextindex erstellen
Volltextindex auf TB erstellen
(Titel, Detail)
Schlüsselindex pk_id – Geben Sie die Indexspalte an. Um die Leistung zu verbessern, verwenden Sie am besten einen Clustered-Index
auf tb_fulltext
mit change_tracking auto – Aktualisiert den Volltextindex automatisch, wenn Daten in der zugehörigen Tabelle geändert werden.
Schritt 4: Abfragebeispiel:
Wählen Sie * aus der Tabelle aus
wo enthält((title,detail),'Yao Ming')
Abfragesyntax:
1. Suche nach bestimmten Wörtern: enthält(Detail,'Yao Ming')
2. Suchen Sie nach einer bestimmten Phrase: Verwenden Sie „“, um die Phrase in doppelte Anführungszeichen zu setzen, enthält(Detail,'Yao Ming Shanghai')
3. Suchen Sie nach Wörtern und Phrasen aus mehreren Spalten: enthält((Titel,Detail),'Yao Ming Shanghai')
4. Suchen Sie nach Wörtern oder Phrasen, die mit dem angegebenen Text beginnen: enthält(detail,'"Yao Ming*"')
Wenn der Text und das Sternchen nicht in doppelte Anführungszeichen gesetzt sind, behandelt die Volltextsuche das Sternchen als ein Zeichen. Wenn nach einer Phrase gesucht wird, wird jedes Wort innerhalb der Phrase als Präfix betrachtet. enthält(detail,'"Yao Ming Shanghai*"') gibt die Ergebnisse zurück, bei denen das erste Wort mit Yao Ming und das zweite Wort mit Shanghai beginnt
5. Suchen Sie nach Variationen bestimmter Wörter: enthält(detail,'formsof(inflectional,ride)')
Gibt Zeilen zurück, die „ride“, „rides“, „riding“ und „ritted“ in der Tabelle enthalten
6. Suchen Sie nach Wörtern oder Phrasen, die einem anderen Wort oder einer anderen Phrase nahe kommen: enthält(Detail,'Yao Ming in der Nähe von Shanghai')
7. Wörter oder Phrasen, die gewichtete Werte verwenden: enthält(Beschreibung,'isabout(Leistungsgewicht(.8),Komfortgewicht(.4),Glattgewicht(.2))')
Gewicht weist jedem Wort oder jeder Phrase einen Gewichtungswert zwischen 0,0 und 1,0 zu.
8. Verwenden Sie mehrere Suchbedingungen: enthält(Detail,'"Yao Ming" oder "Shanghai"')
enthält(Detail,'"Yao Ming" und "Shanghai"')
enthält(Detail,‘„Yao Ming“ und nicht „Shanghai“‘)
9. Sie können Variablen auch in „Contains“ verwenden
10. Suche nach Synonymen enthält(title,'formsof(thesaurus,on)')
【prüfen】
Im obigen Beispiel ausführen
Wählen Sie * aus der Tabelle aus
wo enthält(Titel,'Shanghai')
Ergebnis:
ID-Titeldetails
6 Yao Ming: Er betrachtete Shanghai nicht als Investitionsprojekt und wurde ein guter Mensch. „Yao Mi“ sagte: „Yao Ming, dem es an Werbeeffekten nicht mangelt, hat das Shanghai Oriental erworben.“ Basketball-Club, der kurz vor dem Aussterben stand, was zeigt, dass er wirklich etwas für seine ehemalige Stammmannschaft tun möchte.
Aber führen Sie aus:
Wählen Sie * aus der Tabelle aus
wo enthält(Titel,'上')
Das Ergebnis ist eine leere Menge.
Grund: Bei der Durchführung einer Volltextindexabfrage ist „上“ ein Störwort im vereinfachten Chinesisch, das heißt, es wird bei der Abfrage ignoriert. Außerdem wird bei der Erstellung eines Volltextindex im Allgemeinen eine Phrase verwendet ein Indexelement anstelle eines einzelnen Wortes.
Wenn Sie diese Abfrage erneut durchführen und die Ergebnisse der ersten Abfrage erfahren möchten, können Sie den Thesaurus des Volltextindex ändern.
Der Pfad, in dem die Füllwort- und Synonymdateien vorhanden sind:
D:ProgrammeMicrosoft SQL Server2005MSSQL.1MSSQLFTData Jeder Dateiname sollte leicht identifizierbar sein.
Hier ist eine kurze Einführung zum Ändern des Thesaurus:
1. Öffnen Sie mit Notepad tschs.xml, eine Synonymbibliothek für vereinfachtes Chinesisch
<XML ID="Microsoft Search Thesaurus">
<!-- Auskommentiert
<thesaurus xmlns="x-schema:tsSchema.xml">
<diacritics_sensitive>0</diacritics_sensitive>
<Erweiterung>
<sub>Internet Explorer</sub>
<sub>IE</sub>
<sub>IE5</sub>
</expansion>
<Ersatz>
<pat>NT5</pat>
<pat>W2K</pat>
<sub>Windows 2000</sub>
</Ersatz>
<Erweiterung>
<sub>ausführen</sub>
<sub>joggen</sub>
</expansion>
</thesaurus>
->
</XML>
erklären:
<Ersatz>
<pat>NT5</pat>
<pat>W2K</pat>
<sub>Windows 2000</sub>
</Ersatz>
ist ein Ersatzwort, das heißt, bei der Abfrage von W2K wird es bei der Abfrage automatisch durch Windows 2000 ersetzt.
<Erweiterung>
<sub>ausführen</sub>
<sub>joggen</sub>
</expansion>
Es handelt sich um eine Synonymbibliothek, das heißt, bei der Abfrage von „run“ wird auch „jog“ durchsucht.
Fügen Sie in diesem Beispiel Folgendes hinzu:
<Erweiterung>
<sub>Nach oben</sub>
<sub>Shanghai</sub>
</expansion>
2. Entfernen Sie die Kommentarzeile beginnend am Ende:
<!-- Auskommentiert
->
3. Das Endergebnis ist:
<XML ID="Microsoft Search Thesaurus">
<thesaurus xmlns="x-schema:tsSchema.xml">
<diacritics_sensitive>0</diacritics_sensitive>
<Erweiterung>
<sub>Internet Explorer</sub>
<sub>IE</sub>
<sub>IE5</sub>
</expansion>
<Ersatz>
<pat>NT5</pat>
<pat>W2K</pat>
<sub>Windows 2000</sub>
</Ersatz>
<Erweiterung>
<sub>ausführen</sub>
<sub>joggen</sub>
</expansion>
<Erweiterung>
<sub>Nach oben</sub>
<sub>Shanghai</sub>
</expansion>
</thesaurus>
</XML>
3. Führen Sie die Abfrageanweisung aus:
Wählen Sie * aus der Tabelle aus
wobei enthält(title,'formsof(thesaurus,on)')
Sie können sehen, dass die Abfrageergebnisse mit denen von enthält (Titel, 'Shanghai') identisch sind.