Der MySQL-Volltextindex ist ein spezieller Index, der eine Liste aller Wörter generiert, die in einer bestimmten Spalte einer bestimmten Tabelle vorkommen.
veranschaulichen: Kann nur in MyISAM-Tabellen erstellt werden Der Volltextindex kann nur durchsucht werden, indem Wörter durch Leerzeichen oder Satzzeichen getrennt werden. Chinesische Wörter können nicht durchsucht werden (es gibt spezielle Anwendungen, die die chinesische Wortsegmentierung unterstützen und nach chinesischen Wörtern suchen können, aber sie sind nicht ideal). Wörter mit weniger als 3 Zeichen werden nicht in den Volltextindex aufgenommen. Sie können diese Option ändern, indem Sie my.cnf ändern.
Starten Sie den MySQL-Server neu und verwenden Sie Wählen Sie * aus Tabellenname, wobei Übereinstimmung (Spalte1, Spalte2) gegen ('Wort1 Wort2 Wort3')>0,001 ist. match ... against findet Datensätze, die in den Datenspalten column1 und column2 mindestens eines der drei Wörter word1, word2 und word3 enthalten. Die Datenspalte nach dem Keyword-Match muss mit der Datenspalte für die Erstellung des Volltextindexes übereinstimmen. Die Suchbegriffe sind nicht case-sensitiv und nicht sequenzsensitiv. Wörter mit weniger als 3 Zeichen werden in der Regel ignoriert. Der Ausdruck „match... against ...“ gibt als Ergebnis seiner eigenen Auswertung eine Gleitkommazahl zurück, die den Grad der Übereinstimmung des resultierenden Datensatzes mit dem gesuchten Wort widerspiegelt. Wenn keine Datensätze übereinstimmen oder zu viele übereinstimmende Ergebnisdatensätze ignoriert werden, gibt der Ausdruck 0 zurück. Der Ausdruck > 0,001 wird verwendet, um Ergebnisdatensätze auszuschließen, deren Übereinstimmungsrückgabewerte zu klein sind. Wählen Sie *, Match (Spalte1, Spalte2) gegen ('Wort1 Wort2 Wort3') als Match von Tabellenname mit mtch>0,01 Sortieren nach mtch desc Grenze 5 Suchen Sie die fünf am besten passenden Datensätze. Sie können in der Where-Klausel keine Pseudonyme verwenden, verwenden Sie also having. Die boolesche Volltextsuche unterstützt die folgenden Operatoren:+Wort: Ein vorangestelltes Pluszeichen gibt an, dass das Wort am Anfang jeder zurückgegebenen Zeile stehen muss. -word: Ein vorangestelltes Minuszeichen gibt an, dass das Wort in keiner der zurückgegebenen Zeilen vorkommen darf. (kein Operator): Im Standardzustand (wenn kein + oder – angegeben ist) ist das Wort optional, aber die Zeile, die das Wort enthält, hat einen höheren Rang. Dies ähnelt der Funktionsweise von MATCH() ... AGAINST() ohne die Änderung IN BOOLEAN MODE. > <Diese beiden Operatoren werden verwendet, um die Auswirkung eines Wortes auf den einer Zeile zugewiesenen zugehörigen Wert zu ändern. Der Operator „>“ verstärkt seine Wirkung, während der Operator „<“ sie verringert. Siehe das Beispiel unten. ( ) Klammern werden verwendet, um Wörter in Teilausdrücke zu trennen. Klammern können verschachtelt sein. ~Wort: Eine führende Tilde fungiert als Negationszeichen und negiert die Auswirkung des Wortes auf die Relevanz der Zeile. Dies ist nützlich, um „Lärmwörter“ zu markieren. Zeilen, die solche Wörter enthalten, werden niedriger eingestuft als andere Zeilen. Wort*: Suche nach Wörtern, die mit Wort beginnen, darf nur am Ende des Wortes erscheinen "Wort1 Wort" : Das angegebene Wort muss im Datensatz vorkommen, die Reihenfolge muss stimmen und bei den Buchstaben wird auf Groß- und Kleinschreibung geachtet. Wählen Sie * aus Tabellenname, wobei Übereinstimmung (Spalte1, Spalte2) gegen ('+Wort1 +Wort2 -Wort3' im Booleschen Modus') besteht. Boolesche Suchvorgänge können nur 1 oder 0 zurückgeben und geben keine Gleitkommazahlen mehr zurück, die den Übereinstimmungsgrad angeben. Nachteile der Volltextindizierung:1. Je größer die Datentabelle, desto besser ist der Volltextindexeffekt. Kleinere Datentabellen können unverständliche Ergebnisse liefern. 2. Bei der Volltextsuche wird das gesamte Wort als passendes Objekt verwendet. Wird ein Wort umgewandelt (mit einem Suffix oder einer Pluralform), wird es als ein anderes Wort betrachtet. 3. Nur Zeichenfolgen, die aus Buchstaben, Zahlen, einfachen Anführungszeichen und Unterstrichen bestehen, werden als Wörter betrachtet. Buchstaben mit phonetischen Symbolen sind zwar immer noch Buchstaben, werden von C++ jedoch nicht mehr als Wörter betrachtet. 4. Groß-/Kleinschreibung wird nicht beachtet 5. Kann nur auf MyISAM verwendet werden 6. Die Erstellung von Volltextindizes ist langsam, und die Änderung verschiedener Daten mit Volltextindizes ist ebenfalls langsam 7. Unterstützt kein Chinesisch Oben finden Sie ausführliche Informationen zu den Prinzipien und Mängeln der MySQL-Volltextindizierung. Weitere Informationen zur MySQL-Volltextindizierung finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: So entfernen Sie die Trennlinie einer Webseitentabelle
>>: Docker verwendet CMD- oder ENTRYPOINT-Befehle, um mehrere Dienste gleichzeitig zu starten
Das „.zip“-Format wird zum Komprimieren von Datei...
Inhaltsverzeichnis 1. JavaScript-Probleme 2. Vort...
Heute habe ich zufällig einem Freund beim Umzug s...
Inhaltsverzeichnis 1. Datentyp 1.1 Warum brauchen...
Mein erstes Serverprogramm Ich lerne gerade, Onli...
<br />Originaltext: http://andymao.com/andy/...
Inhaltsverzeichnis Prinzip Vorbereitung der Netzw...
Vorwort Wenn sich unser Geschäft in einem sehr fr...
Einführung in Docker Docker ist eine Open-Source-...
In diesem Artikel gibt es keine Spitzfindigkeiten,...
Öffnen Sie zunächst die virtuelle Maschine Öffnen...
mysqladmin ist ein offizielles MySQL-Clientprogra...
Ursprüngliche Adresse: https://blog.csdn.net/m0_4...
Inhaltsverzeichnis Überblick 1. Erstellen eines R...
Geschäftliche Anforderungen Eines der Projekte, d...