Wenn wir Material mit Phrasen oder Keywords sehen, ist das beste Beispiel eine Google -Suche. Mit der MongoDB-Volltext-Suche können wir einen Textindex in jeder Spalte in einem Dokument mit einer Zeichenfolge oder Arrays von Zeichenfolgen festlegen.
Syntax der Volltext-Suche in MongoDB in Ubuntu 20.04 ?
Die erwähnte Syntax lautet wie folgt:
db.Collection_Name.find ($ text: $ suche: "string")
Die Funktion für Find () wird mit den folgenden Parametern in der obigen Syntax verwendet:
Arbeiten am $ Text -Operator in MongoDB in Ubuntu 20.04:
Die Textlisten werden von MongoDB bereitgestellt, um die Suchanfragen auf String -Inhalten zu unterstützen. Jedes Feld mit einem Zeichenfolgenwert oder einem Bereich von String -Komponenten kann in Textdatensätze enthalten sein. Sie sollten einen Textdatensatz in Ihrer Sammlung haben, um Fragen zu Textsuchern zu stellen. Sogar eine Sammlung hat nur einen Themensuchrekord. Eine Liste kann mehrere Felder umfassen.
Wie die Volltext-Suche in MongoDB in Ubuntu 20 funktioniert.04
Schauen Sie sich nun bestimmte Beispiele an, um die Dinge besser zu verstehen. Erstens haben wir eine Datenbank mit dem Namen "Mydemo" erstellt. In dieser Datenbank haben wir eine Sammlung als „Früchte“ definiert. Anschließend wird die InsertMany -Abfrage verwendet, um das Sammeldokument einzufügen.
Die Abfrage „DB.Früchte.find () ”Ergebnisse in die Attribute und die Entitäten der Sammlung„ Früchte “wie folgt. Wir haben drei Dokumente für die Sammlung von „Früchten“ aufgezeichnet.
Lassen Sie uns nun untersuchen, wie wir eine Volltext-Suche durchführen können.
Beispiel 1: Erstellen des Textindex in MongoDB in Ubuntu 20.04:
Wir müssen einen Textindex für einen Datensatz festlegen, bevor Sie die Volltext-Suchfunktionen von MongoDB verwenden können. Indizes sind eindeutige Datenstrukturen, die eine begrenzte Daten aus jedem Text in einer Sammlung aus den Dokumenten selbst isolieren. Schauen wir uns an, wie Sie eine Volltext-Suche durchführen können.
Ein Textindex ist auf die gleiche Weise wie ein herkömmlicher Index erstellt, anstatt eine aufsteigende/absteigende Reihenfolge zu definieren, er definiert das Schlüsselwort des Textes.
Oben haben wir eine Abfrage für eine Volltext-Suche. Wir haben die Methode createIndex () verwendet, um einen Textindex zu erstellen. Wir setzen die beiden Felder "Subjekt" und "Inhalt" auf den Indextextext.
Durch Ausführen der CreateIndex -Abfrage auf der MongoDB -Shell bestätigt die folgende Ausgabe die Indexerstellung:
Beispiel Nr. 2: Suchen Sie nach einem Wort oder einer Phrase aus dem Volltext in MongoDB in Ubuntu 20.04:
Nachschlagen von Dokumenten, die ein oder mehrere einzelne Wörter umfassen. Benutzer erwarten wahrscheinlich, dass der Webbrowser anpassbar ist, um zu wählen, wo die jeweiligen Suchphrasen angezeigt werden sollen. Bei der Verwendung von Textindizes nähert sich MongoDB auf die gleiche Weise gemeinsame Suchanfragen. Mit einigen Beispielen erklärt dieser Schritt, wie MongoDB Suchanforderungen verarbeitet.
Hier haben wir eine Frage „DB.Früchte.finden()". Die Abfrage verwendet den $ Text -Operator, der MongoDB hier informiert, dass die Abfrage den zuvor definierten Textindex verwendet wird. Außerdem ist in jeder Sammlung nur ein Textindex zulässig. Innerhalb des $ Text -Operator.
Wie Sie sehen können, haben wir nur ein Dokument mit dem Textinhalt „süß“. Durch Ausführen der obigen Abfrage werden die gesamten Details des Dokuments mit dem Textinhalt „süß“ wie folgt angezeigt:
Jetzt suchen wir nach zwei Wörtern, indem wir die folgende Abfrage verwenden:
Wir haben dem $ -Se-Suchbetreiber das Zwei-Wort-Vitamin C "Vitamin C" gegeben. Wenn die Abfrage ausgeführt wird, zeigt sie den Dokumentdatensatz mit dem im Text aufgeführten Vitamin C wie folgt an:
Beispiel Nr. 3: Bewertung und Sortieren der Suchergebnisse der Volltext in MongoDB in Ubuntu 20.04:
Jedes Dokument empfängt eine Punktzahl aus der Textsuche, die angibt, wie relevant es für die Suchabfrage ist. Diese Punktzahl wird verwendet, um alle Datensätze in einem Suchergebnis zu kategorisieren. Eine höhere Punktzahl bedeutet, dass der Wettbewerb aussagekräftiger ist.
Wir haben einen $ Text -Operator, der die beiden Wörter „Mangos“ und „orange“ mit Hilfe eines $ -Se -Suchbetreibers durchsucht. Anschließend haben wir eine Projektion Score: $ meta: „textScore“, die den $ meta -Operator verwendet, der angegebene Metadaten aus abgerufenen Dokumenten zurückgibt. Die TextScore-Metadaten, die eine integrierte Komponente der Volltext-Suchmaschine von MongoDB ist und die Suchrelevanzbewertung enthält, wird in diesem Fall zurückgegeben.
Wie im Filterdokument erwähnt, fügt die resultierenden Dokumente nach der Ausführung der Abfrage ein neues Feld mit dem Namen Score hinzu:
Jetzt haben wir die Sortierfunktion für die Projektion Score: $ meta: „textScore“ verwendet. Das Sortierdokument verwendet dieselbe Syntax wie das Projektionsdokument.
Die Textmango hat die größte Relevanzbewertung, daher steht sie an erster Stelle auf dem Ausgangsbildschirm.
Abschluss:
Wir haben erworben, wie man die Funktionen von MongoDBs Volltext-Suchfunktionen verwendet, indem wir diesem Tutorial folgen. Sie haben einen Textindex und komponierte Textsuchabfragen erstellt, die eine und viele Wörter, ganze Phrasen und Ausschlüsse enthielten. Sie haben auch die Relevanz der zurückgegebenen Papiere bewertet und die Suchergebnisse bestellt, um zuerst die relevantesten Elemente anzuzeigen.