Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql - Volltextindex - was ist der natürliche Sprachmodus

Die Volltextsuche in natürlicher Sprache von MySQL zielt darauf ab, Suchanfragen mit einem Korpus abzugleichen, um die relevantesten Übereinstimmungen zu finden. Nehmen wir also an, wir haben einen Artikel, der „I love pie“ enthält, und wir haben die Dokumente d1, d2, d3 (in Ihrem Fall die Datenbank). In Dokument 1 und 2 geht es um Sport bzw. Religion und in Dokument 3 um Essen. Ihre Anfrage,

Gibt d3 und dann d2, d1 zurück (zufällige Reihenfolge von d2, d1, je nachdem, was dem Artikel am ehesten entspricht), da d3 am besten zum Artikel passt.

Der zugrunde liegende Algorithmus, den MYSQL verwendet, ist wahrscheinlich der tf-idf-Algorithmus, wobei tf für Begriffshäufigkeit und idf für inverse Dokumenthäufigkeit steht. tf ist, wie es sagt, nur die Häufigkeit, mit der ein Wort w in Artikel in einem Dokument vorkommt. idf basiert darauf, in wie vielen Dokumenten das Wort vorkommt. Wörter, die in vielen Dokumenten vorkommen, tragen also nicht zur Entscheidung über das repräsentativste Dokument bei. Das Produkt aus tf*idf ergibt eine Punktzahl, je höher, desto besser repräsentiert das Wort ein Dokument. 'pie' wird also nur in Dokument d3 vorkommen und hat daher ein hohes tf und ein hohes idf (da es das Gegenteil ist). Wohingegen 'the' ein hohes tf, aber ein niedriges idf haben wird, was das tf auslöschen und eine niedrige Punktzahl geben wird.

Der MYSQL Natural Language Mode enthält auch eine Reihe von Stoppwörtern (the, a, some usw.) und entfernt Wörter, die weniger als 4 Buchstaben haben. Welches in dem von Ihnen bereitgestellten Link zu sehen ist.