10 Stimmen

Gewusst wie: Ranking der Suchergebnisse

Ich habe ein Problem bei der Entwicklung einer Webanwendung, für das ich eine Lösung entwickelt habe, suche aber nach anderen Ideen, mit denen ich einige Leistungsprobleme umgehen kann.

Problemstellung:

  • ein Benutzer gibt mehrere Schlüsselwörter/Tokens ein
  • die Anwendung sucht nach Übereinstimmungen mit den Token
  • ein Ergebnis für jedes Token benötigen
    • d.h. wenn ein Eintrag 3 Token hat, benötige ich die Eintrags-ID 3 Mal
  • die Ergebnisse einstufen
    • X Punkte für die Übereinstimmung mit dem Token vergeben
    • Sortierung der Eintragsnummern nach Punkten
    • wenn die Punktwerte gleich sind, werden die Ergebnisse nach Datum sortiert

Was ich tun möchten, aber nicht herausgefunden haben, ist 1 Abfrage zu senden, die so etwas wie die Ergebnisse einer in() zurückgibt, aber gibt eine doppelte Eintrag-ID für jedes Token Übereinstimmungen für jeden Eintrag-ID überprüft.

Gibt es eine bessere Möglichkeit, dies zu tun, als das, was ich tue, nämlich mehrere einzelne Abfragen mit einer Abfrage pro Token zu verwenden? Wenn ja, was ist der einfachste Weg, diese zu implementieren?

bearbeiten
Ich habe die Einträge bereits mit Token versehen, so dass zum Beispiel "see spot run" eine Eintrags-ID von 1 hat und drei Token, 'see', 'spot', 'run', und diese befinden sich in einer separaten Token-Tabelle mit entsprechenden Eintrags-IDs, so dass die Tabelle wie folgt aussehen könnte:

'see', 1 
'spot', 1 
'run', 1 
'run', 2 
'spot', 3

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X