PHP MySQL Suchen und Sortieren nach Relevanz

8

Ich weiß, wie man eine normale PHP-Mysql-Suche durchführt und die Ergebnisse anzeigt. Aufgrund der Natur dessen, was ich zu erreichen versuche, muss ich nach Relevanz sortieren können. Lassen Sie mich das besser erklären:

Normale Abfrage "apple iphone applications" durchsucht die Datenbank mit% apple iphone application%, aber wenn es keine Datensätze gibt, die diese Phrase in genau dieser Reihenfolge anzeigen, erzeugt die Suche nichts.

Was ich im Grunde tun muss, ist nach "Apfel", "Iphone" und "Anwendungen" alle separat zu suchen und dann die Ergebnisse in eins zusammenzufassen, und dann muss ich die Relevanz nach der Anzahl der Instanzen des Wortes bewerten in den Aufzeichnungen. Zum Beispiel, wenn ich getan habe, was ich tun wollte, und es gab sie folgende zurück:

%Vor%

Sie würden wie folgt rangieren:

%Vor%

Aufgrund der Anzahl der gefundenen Suchbegriffe. Siehe hervorgehoben:

%Vor%

Ich hoffe, ich habe das gut genug erklärt und wäre sehr dankbar, wenn mir jemand Hinweise geben könnte.

    
zuk1 05.12.2008, 15:37
quelle

5 Antworten

6

werfen Sie einen Blick auf die Suchfunktionen von MySQL FULLTEXT , Diese sollten die Ergebnisse automatisch nach Relevanz zurückgeben und Ihnen mehr Kontrolle über Ihre Suchvorgänge geben.

Das einzige potentielle Problem bei der Verwendung von Volltextindizes ist, dass sie nicht von InnoDB -Tabellen unterstützt werden.

    
Neil Aitken 05.12.2008, 15:41
quelle
5

Eine schnelle Google gab mir diesen Link .

Beispiel:

%Vor%     
Filip Ekberg 05.12.2008 15:40
quelle
2

Vielleicht könnte das jemandem helfen (nach Relevanz sortieren und Wortanzahl angeben):

Kein Volltext:

%Vor%

Volltext:

%Vor%     
Martijn H. 11.03.2015 16:01
quelle
0
%Vor%

In der Ergebnismenge gibt es ein Feld "Relevanz", mit dem die Ergebnisse sortiert werden.

    
Murat Ayfer 05.12.2008 15:55
quelle
0

Ich tue nicht, was genau du willst, aber der folgende Code funktioniert definitiv für dich.

%Vor%

Trennen Sie alle Wörter mit Bar (|), aber die Ergebnisse sind 1 oder 0 oder nicht. Wenn Sie eine Reihe von Zeilen erhalten möchten, siehe unten.

%Vor%     
Rohit Kumar 08.04.2017 03:47
quelle

Tags und Links