Frage

Ich habe ein paar Seiten gesehen, die Liste verwandte Suchen, wenn Sie eine Suche durchführen, nämlich sie andere Vorschläge für Suchanfragen Sie interessiert sein könnten.

Ich frage mich, den besten Weg, dies in einer mittelgroßen Website zu modellieren (nicht genug Traffic auf Besucherstatistik verlassen Beziehungen zu schließen). Mein erster Gedanke ist es, die Top-10-Ergebnisse für jede einzelne Abfrage zu speichern, dann, wenn eine neue Suche durchgeführt wird, um alle historischen Suche zu finden, die eine gewisse Menge der Top-10 Ergebnisse entsprechen idealerweise aber nicht alle von ihnen passende (passend alle von ihnen könnten eine gleichwertige Suche vorschlagen und daher nicht so nützlich als Vorschlag).

Ich kann mir vorstellen, dass einige Leute vor, diese Funktionalität getan haben und können einige Ideen von verschiedenen Möglichkeiten, um der Lage sein, dies zu tun. Ich bin nicht unbedingt für eine Gewinn Idee suchen, da die Lösung wird ohne Zweifel erheblich variiert je nach Größe und Art der Website.

War es hilfreich?

Lösung

haben Sie darüber nachgedacht, eine Matrix von mit Schlüsselwörtern auf 1 Achse vs. Dokumente auf einer anderen Achse. wenn Sie den Satz von vetors, die die Schlüsselwörter finden, finden Sätze von Keyword (s) in Ihrem ersten Ergebnismenge gefunden und dann einen Weg finden, die andere Schlüsselwörter, um wie viele Dokumente, die sie verweisen auf Rang oder wie oft sie INTERSET das intial Ergebnismenge .

Andere Tipps

Ich habe eine Reihe verschiedenen Ansätze zu diesem versuche, mit unterschiedlichem Erfolg. Am Ende, denke ich, der beste Ansatz für die Domain / Themen durchsuchten in hohem Maße abhängig ist, und wie die Benutzer Abfragen bilden.

Ihre Gedanken über frühere Suchanfragen zu speichern scheint mir vernünftig. Ich wäre neugierig zu sehen, wie es in der Praxis funktioniert (ich meine, dass in der aufrichtigsten Weise - es gibt viele Nuancen, die diese Techniken können dazu führen, in der „realen Welt“ zum Scheitern verurteilt, vor allem, wenn Daten spärlich).

Hier sind einige Techniken, die ich habe in der Vergangenheit verwendet, und in der Literatur gesehen:

  1. Thesaurus basierte Ansätze: Index in einen Thesaurus für jeden Begriff, den der Benutzer verwendet hat, und dann eine Heuristik verwenden, um die Synonyme zu filtern, um die Benutzer wie möglich Suchbegriffe zeigen
  2. .
  3. Vorbauten und auf der Suche: die Suchbegriffe Stem (zB: mit dem Porter Stemming-Algorithmus und dann die dämmt Begriffe zu verwenden, und dem Benutzer die Möglichkeit, die Suche nach bestimmten genau die Bedingungen, die sie festgelegt (oder das Gegenteil tun, suchen sie die genauen Bedingungen zuerst, und verwenden sie stammen eine Vorverarbeitung eines bekannten Wörterbuch, um die Bedingungen zu finden, die auf der gleichen Wurzel stammen. offensichtlich Dieser zweite Ansatz nimmt, oder Sie können sie Begriffe wie Ihre Indizierung Ausdruck findet sammeln.)
  4. Chaining: Analysiert die von der Abfrage des Benutzers gefunden und extrahieren Schlüsselbegriffe aus den Top-N Ergebnisse ( KEA ist eine Bibliothek / Algorithmus, der Sie bei für die Keyword-Extraktionstechniken suchen.)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top