Gewichtung von Suchergebnissen
lina-
- programmiertechnik
Hallo,
erstmal sorry für das nicht ganz passend gewählte Thema. Was besseres hab ich nicht gefunden :]
Nun zu meinem Problem:
Ich habe eine Suchfunktion (mit der logischen Verknüpfung ODER), deren Ergebnisse in einer Liste gespeichert werden.
Diese Liste möchte ich nun nach einer bestimmten Gewichtung ordnen. Nun ist weniger das Ordnen - als das finden einer Gewichtung das Problem. Ich schwanke mittlerweile nur noch zwischen zwei Möglichkeiten. Genau hier kann ich mich aber nicht entscheiden.
Die erste Möglichkeit gibt allen Ergebnissen die _alle_ Suchworte enthalten die Prio1. Abnehmend mit der Anzahl der gefundenen Suchworte erhalten die folgenden Ergebnisse niedrigere Prioritäten.
Abschliessend wird nach dem selben Schema mit _Teilstrings_ vorgegangen.
Die zweite Möglichkeit vergibt die Prioritäten _nur_ nach Anzahl der gefundenen Suchworte (also komplette und Teilstrings durcheinander)
Zur Verdeutlichung mal ein Beispiel, dass die verschiedenen Reihenfolgen mit den gefundenen Worten aufzeigt:
Suchworte: Telefon (oder) Test
Möglichkeit1:
Ergebnis1: Telefon, Test
Ergebnis2: Telefon
Ergebnis3: Test
Ergebnis4: telefonieren, test
Ergebnis5: Testverfahren
Möglichkeit2:
Ergebnis1: Telefon, Test
Ergebnis2: telefonieren, test
Ergebnis3: Telefon
Ergebnis4: Test
Ergebnis5: Testverfahren
Was meint ihr? Welche Möglichkeit ist die günstigere/intuitivere/bessere?
Für weitere Vorschläge bin ich natürlich auch offen!
Danke schonmal für die Mühe des Verstehens ;)
Hi,
Variante 1 ist funktionaler als Variante 2 und ist deshalb besser, oder?
Gruss,
Ludger
Hi,
Variante 1 ist funktionaler als Variante 2 und ist deshalb besser, oder?
eindeutig nicht!
Vom Rank würde Dir jede Suchmaschine Variante 2 vorschlagen.
Gruß
Reiner
Hi,
Variante 1 ist funktionaler als Variante 2 und ist deshalb besser, oder?
eindeutig nicht!
Vom Rank würde Dir jede Suchmaschine Variante 2 vorschlagen.
wie hast Du die Funktionalitaeten verstanden?
Gruss,
Ludger
wie hast Du die Funktionalitaeten verstanden?
ganz einfach:
Suchworte: Telefon (oder) Test
Möglichkeit1:
Ergebnis1: Telefon, Test
Ergebnis2: Telefon
Ergebnis3: Test
Ergebnis4: telefonieren, test
Ergebnis5: Testverfahren
Möglichkeit2:
Ergebnis1: Telefon, Test
Ergebnis2: telefonieren, test
Ergebnis3: Telefon
Ergebnis4: Test
Ergebnis5: Testverfahren
bei Variante 2 steht an Pos. 2 "telefonieren, test". Das ist eindeutig höher zu bewerten als "Telefon" von Variante 1.
Aber: an sich ist das das Problem bzw. der Anwendungsfall nicht wirklich eindeutig beschrieben worden.
Bei einer Suchmaschine (o.ä.) kommt noch ein Ranking hinzu, das im einfachsten Fall ein Quotient aus Vorkommnisse des Suchwortes zu Gesamtwortzahl des gerade betrachteten Dokumentes darstellt.
Aber im Beispiel wurde darauf in keinster Weise eingegangen, wie die Auswahl stattfindet.
Gruß
Reiner
moin :)
Bei einer Suchmaschine (o.ä.) kommt noch ein Ranking hinzu, das im einfachsten Fall ein Quotient aus Vorkommnisse des Suchwortes zu Gesamtwortzahl des gerade betrachteten Dokumentes darstellt.
Aber im Beispiel wurde darauf in keinster Weise eingegangen, wie die Auswahl stattfindet.
Oh Sorry! Ich hätte vielleicht darauf hinweisen sollen, dass eine solche Betrachtung für meine Suche irrelevant ist. (Sowas vergisst man schnell bei einer Problembeschreibung... "is für mich nich wichtig - warum sollte das die Helfenden interessieren?")
Es geht darum aus einer Liste mit Schlagworten die Dokumente zu finden, die den gesuchten Schlagworten entsprechen. Eine Gewichtung ín Bezug auf das Gesamtdokument ist also nicht nötig, da es hier nur um Schlagworte geht.
Aber ich glaube Reiner hat recht, dass Möglichkeit2 wirklich die bessere ist...
Vielen Dank euch beiden!