|
|
Veröffentlicht amGestern um 20:20 Uhr
|
|
|
|

Die Volltextsuche ist eine optionale Komponente der SQL-Server-Datenbank-Engine. Wenn du bei der Installation von SQL Server keine Volltextsuche gewählt hast, führe den SQL-Server-Installer erneut aus, um ihn hinzuzufügen.
Überblick
Ein Volltextindex enthält eine oder mehrere zeichenbasierte Spalten in einer Tabelle. Diese Spalten können folgende Datentypen enthalten: char, varchar, nchar, nvarchar, text, ntext, image, xml oder varbinary(max) und FILESTREAM. Jeder Volltextindex erstellt einen Index für eine oder mehrere Spalten in der Tabelle, und jede Spalte kann eine bestimmte Sprache verwenden.
Volltextabfragen arbeiten mit Wörtern und Phrasen gemäß den Regeln bestimmter Sprachen (wie Englisch oder Japanisch) und führen dadurch Sprachsuchen auf Basis der Textdaten im Volltextindex durch. Volltext-Abfragen können einfache Wörter und Phrasen oder mehrere Formen von Wörtern oder Phrasen enthalten. Eine Volltextabfrage liefert alle Dokumente zurück, die mindestens einen Treffer enthalten (auch als "Hit" bekannt). Ein Match tritt auf, wenn das Zieldokument alle in der Volltextabfrage angegebenen Begriffe enthält und alle anderen Suchkriterien (wie den Abstand zwischen passenden Begriffen) übereinstimmt.
Linux Docker MSSQL 2022 Installation des Volltextsuchdienstes
Die Quellen sind wie folgt:
Überprüfen Sie, ob die Volltextsuchfunktion von SQL SERVER installiert ist
Der Befehl lautet wie folgt:
SQL Server Volltextsuche, Volltextindex
Zuerst erstelle eine neue Testbibliothek und füge Testdaten ein. Das Skript ist wie folgt:
Erstellen Sie ein Volltextverzeichnis
Ein Volltextverzeichnis wird verwendet, um den Volltextindex zu speichern. Sie können es direkt mit den folgenden Skripten erstellen:
Erstellen Sie Volltextindizes für Datenbanktabellen
Beim Erstellen eines Volltextindex für eine Datenbanktabelle müssen Sie die entsprechende Sprache angeben. Da die Wortsegmentierung je nach Sprache variiert, verwendet SQL Server die entsprechende Sprachsegmentierung, um die Daten in der Tabelle zu verarbeiten. Die Volltextsuche von SQL Server unterstützt etwa 50 verschiedene Sprachen und ermöglicht es Ihnen, alle unterstützten Sprachen durch Abfrage sys.fulltext_languages Tabellen anzuzeigen. Befehl:
Wie unten gezeigt:
Als Nächstes fügen wir einen Volltextindex für vereinfachtes Chinesisch zu den Feldern Titel und Inhalt in der Nachrichtentabelle hinzu:
Volltextsuche nach Prädikaten und Funktionen
Volltextabfragen verwenden Volltextprädikate (ENTHÄLTundFREITEXT) und Volltextfunktionen (CONTAINSTABLEundFREITEXTTABELLE)。 Sie unterstützen die komplexe Transact-SQL-Syntax, die verschiedene Arten von Abfragebegriffen unterstützt.
Der Unterschied zwischen CONTAINS und FREETEXT
CONTAINS: Der Hyperlink-Login ist sichtbar.
Verwenden Sie präzise Abgleichsmethoden, um bestimmte Wörter oder Phrasen im Text zu finden. Unterstützt komplexe Abfragebedingungen wie Näherungssuche (zum Beispiel müssen Wörter nahe beieinander erscheinen), Präfixsuche und mehr. Sie wird üblicherweise in Situationen eingesetzt, in denen eine spezifischere Kontrolle über die Suchergebnisse erforderlich ist.
FREETEXT: Der Hyperlink-Login ist sichtbar.
Bietet eine flexiblere und natürlichsprachbasierte Sucherfahrung. Es sind keine besonderen Suchkriterien erforderlich; Es analysiert automatisch den Eingabetext und versucht, verwandte Inhalte zu finden. Es eignet sich eher für Nutzer, die einfache Keyword-Suchen wie bei Google durchführen möchten, ohne sich um bestimmte Standorte oder Formate zu kümmern.
Die Befehle sind wie folgt:
Wie unten gezeigt:
CONTAINSTABLE und FREETEXTTABLE
CONTAINSTABLE liefert Tabellen zurück, die die Abfragekriterien erfüllen. In SQL-Anweisungen können wir sie als reguläre Tabellen behandeln, und Abfragen mit CONTAINSTABLE geben für jede Zeile einen RANK-Wert und einen KEY zurück. RANK wird verwendet, um den Grad der Korrelationsübereinstimmung anzuzeigen, mit Werten zwischen 0~1000, und KEY ist die ID der Haupttabelle. FREETEXTTABLE segmentiert zunächst die zu abfragenden Wörter und Sätze und sucht dann nach Abgleich. Der Befehl lautet wie folgt:
Wie unten gezeigt:
Zusätzlich können Sie die Segmentierungsergebnisse überprüfen, indem Sie sys.dm_fts_parser abfragen:
Wie unten gezeigt:
ausstellen
Frage: CONTAINS unterstützt standardmäßig keine unscharfen Abfragen. Wenn du CONTAINS (Spalte, 'apple') eingibst, passt es zum Wurzelwort (z. B. apples), aber nicht zu Pineapple. Lösung: Wenn Fuzzy-Abfragen benötigt werden, müssen sie vor und nach den Wildcards platziert werdenFügen Sie doppelte Anführungszeichen und ein Sternchen hinzu:ENTHÄLT(Spalte, '"*apfel*"')
Referenz:
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar. |
Vorhergehend:Webseite für Remote-Arbeit, Arbeit und freiberufliche Arbeitsplattform
|