Announcement

Collapse
No announcement yet.

Volltext Such-Ergebnisse mit mehr Relevanz

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Volltext Such-Ergebnisse mit mehr Relevanz

    Hallo,

    ich bin im Moment mit zwei Dingen unzufrieden:

    1.) Die Performance meiner Volltextabfrage im Forum lässt zu wünschen übrig. Auf Grund mangelnder Ergebnisse habe ich den Titel eines Threads bei der Suche doppelt gewichtet, um mehr Relevanz reinzubekommen:
    Code:
      AND MATCH(title, text) AGAINST('S' IN BOOLEAN MODE)
      ORDER BY (MATCH(title) AGAINST('S' IN BOOLEAN MODE)*N+MATCH(text) AGAINST('S' IN BOOLEAN MODE))  DESC
    2.) Die Relevanz der Ergebnisse ist nicht zufriedenstellend.

    Fazit:
    Ich möchte eine bessere Performance und mehr Relevanz.

    Idee:
    Ich lese die Suchwörter aus, über die ein Nutzer auf einen Thread gestoßen ist und füge diese Wörter dem text eines Threads hinzu. Natürlich wird dieser Text bei der Ausgabe ignoriert. Er soll einzig dazu dienen die Suchwortdichte zu erhöhen.

    Allerdings habe ich dabei ein simples Problem. Wo positioniere ich einen neuen Thread und wie sollte der gefunden werden.

    Beispiel:

    thread1:
    title: kw1 kw2
    text: kw1 kw2

    thread2:
    title: kw3 kw4
    text: kw1 kw2 kw1 kw2 kw1 kw2

    thread2 würde in diesem Beispiel mit kw1 kw2 höher gelistet. D.h. umso länger ein Thread und umso mehr Antworten er enthält, umso höher die Wahrscheinlichkeit, dass die Dichte für völlig irrelevante Kombinationen steigt.

    Man muss also eigentlich von Anfang an eine unterschiedliche Gewichtung vornehmen. z.B. 70% title, 20% 1. text, 10% restliche texte (Antworten)

    Nur dann bin ich wieder bei Punkt 1. Mangelnde Performance ^^
    Insight Forum

  • #2
    Also jetzt kack ich ab. IN BOOLEAN MODE hat gar keine Relevanz. Das wusste ich gar nicht.

    Es gibt nur 0, 1 und 2 als Relevanz. Daher machen manche sowas:
    Code:
    SELECT id, text, MATCH (text) AGAINST ('word1 word2 word3')
    AS score FROM table1
    WHERE MATCH (text) AGAINST ('+word1 +word2 +word3' in boolean mode) order by score desc;
    Allerdings frage ich mich, warum es dann den < und > Operator im BOOLEAN MODE gibt. Wozu kann man die Relevanz erhöhen, wenn es keine Relevanz gibt
    Insight Forum

    Comment

    Working...
    X