Funktionen des FullText Index
Arten von FullText -Suchmodi
Drei Arten der Suche können mit dem FullText -Index erreicht werden, der unten erläutert wird:
1. Boolescher Modus
Diese Art der Suche wird für die Abfragen verwendet, die Boolesche Operatoren enthalten, z. '*), usw.
2. Natürlicher Sprachmodus
Der Standardsuchentyp interpretiert die Suchzeichenfolge als wörtliche Phase.
3. Abfragemodus
Die Suche wird zweimal in diesem Suchtyp durchgeführt. Die zweite Suche wird auf das Ergebnis der ersten Suche angewendet, um die relevanteste Suchausgabe herauszufinden.
Voraussetzungen
Erstellen Sie eine Tabelle mit Daten in einer MySQL -Datenbank, um die Verwendung der FullText -Suche in MySQL zu überprüfen. Öffnen Sie das Terminal und stellen Sie eine Verbindung zum MySQL -Server her, indem Sie den folgenden Befehl ausführen:
$ sudo mysql -u rootFühren Sie den folgenden Befehl aus, um eine Datenbank mit dem Namen zu erstellen test_db:
Datenbank erstellen test_db;Führen Sie den folgenden Befehl aus, um die Datenbank auszuwählen:
Verwenden Sie test_db;Führen Sie die folgende Anfrage aus, um eine Tabelle mit dem Namen zu erstellen Kunden mit fünf Feldern:
Tischkunden erstellen (KundenFühren Sie die folgende Abfrage aus, um vier Datensätze in die Einfügung in die Kunden Tisch.
Einfügen in "Kunden" ("ID", "Name", "E -Mail", "Adresse", "contact_no") WerteFügen Sie den folgenden Befehl aus, um den FullText -Index für die hinzuzufügen Adresse Feld der Kunden Tisch:
Änderungstabelle Kunden Fügen Sie FullText (Adresse) hinzu;Führen Sie den folgenden Befehl aus, um die Liste der definierten Indizes der zu überprüfen Kunden Tisch:
Index von Kunden zeigen;Ausgang
Die folgende Ausgabe zeigt, dass zwei Indizes für die vorhanden sind Kunden Tisch. Einer ist der BTREE -Index, der standardmäßig für das Primärfeld definiert wurde, und ein anderer ist der FullText -Index, der später für die definiert wurde Adresse Feld:
Verwendung von FullText -Suche
Die Suche in der Tabelle mit verschiedenen Modi des FullText -Index wurde in diesem Tutorial gezeigt.
FullText -Suche im Booleschen Modus
Die folgende Auswahlabfrage durchsucht das Wort 'Dhanmondi' im Adresse Feld der Kunden Tabelle im Booleschen Modus. Der Kunden Die Tabelle enthält nur einen Datensatz, der mit diesem Kriterium entspricht:
Wählen Sie * von Kunden aus, wobei übereinstimmen (Adresse) gegen ('dhanmondi' im booleschen Modus);Ausgang
Nach der Ausführung der vorherigen Abfrage wird die folgende Ausgabe angezeigt:
Führen Sie die folgende Abfrage aus, um beide Wörter zu durchsuchen. 'Dhaka ' Und 'Jigatola ' im Adresse Feld der Kunden Tabelle mit dem FullText -Index im Booleschen Modus. Es gibt zwei Reihen in der Kunden Tabelle, die beide Wörter enthält, 'Dhaka ' Und 'Jigatola ':
Wählen Sie * von Kunden ausAusgang
Nach der Ausführung der vorherigen Abfrage wird die folgende Ausgabe angezeigt. Die Ausgabe zeigt, dass die Adresse Feld enthält ''Dhaka ' Und 'Jigatola ':
Führen Sie die folgende Abfrage aus, um diese Zeilen der Kundentabelle zu durchsuchen, die das Wort enthalten. 'Dhaka ' enthält aber nicht das Wort 'Jigatola ' im Adresse Feld der Kunden Tabelle mit FullText Index im Booleschen Modus. Zwei Zeilen existieren in der Kunden Tabelle, die den Kriterien entspricht:
Wählen Sie * von Kunden aus, wobei Übereinstimmung (Adresse) gegen ('Dhaka -jigatola' im Booleschen Modus);Ausgang
Nach der Ausführung der vorherigen Abfrage wird die folgende Ausgabe angezeigt. Die Ausgabe zeigt die Adresse Feld enthält ''Dhaka ' aber nicht 'Jigatola ':
FullText -Suche im natürlichen Sprachmodus
Fügen Sie den folgenden Befehl aus, um den FullText -Index für die hinzuzufügen Name Feld der Kunden Tisch:
Änderungstabelle Kunden fügen FullText (Name) hinzu;Die folgende Auswahlabfrage durchsucht das Wort 'Sankar ' im Name Feld der Kunden Tabelle im natürlichen Sprachmodus. Der Kunden Tabelle enthält zwei Datensätze, die mit diesem Kriterium entsprechen:
Wählen Sie * von Kunden ausAusgang
Nach der Ausführung der vorherigen Abfrage wird die folgende Ausgabe angezeigt. Die Zeilen, die die 'enthalten'Sarkar 'Wert in der Name Das Feld wurde in der Ausgabe gezeigt:
FullText -Suche im Abfrageerweiterungsmodus
Die folgende Auswahlabfrage durchsucht das Wort 'Laboni ' im Name Feld der Kunden Tabelle im Abfrageerweiterungsmodus. Der Kunden Tabelle enthält zwei Datensätze, die mit diesem Kriterium übereinstimmen:
Wählen Sie * von Kunden ausAusgang
Nach der Ausführung der vorherigen Abfrage wird die folgende Ausgabe angezeigt. In der Ausgabe enthält das Namen des Namens der ersten Zeile das Wort 'Laboni ' mit einem anderen Wort ','Sarkar ', und das Name des Namens der zweiten Zeile enthält das passende Wort 'Sarkar '.
DROPTETTExt Index
Führen Sie den folgenden Befehl aus, um den vollständigen Index der Name Feld:
Änderungstabelle Kunden fallen in den Indexnamen;Führen Sie den folgenden Befehl aus, um die aktuelle Indexliste des Kunden Tabelle nach dem Entfernen des FullText -Index aus dem Name Feld:
Index von Kunden zeigen;Ausgang
Nach der Ausführung der vorherigen Abfrage wird die folgende Ausgabe angezeigt. Die Ausgabe zeigt, dass die Kunden Die Tabelle enthält einen BTREE -Index für die Ausweis Feld und ein Volltext für die Adresse Feld:
Abschluss
Die verschiedenen Möglichkeiten, Inhalte in einer Tabelle mit dem FullText -Index zu durchsuchen, wurden in diesem Tutorial gezeigt, um den neuen MySQL -Benutzern zu helfen. Darüber hinaus wurden die vollständigen Funktionen für den FullText Index erörtert. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Tutorials finden Sie in anderen Linux -Hinweisartikeln.