2009-08-10 15 views
1

Ich habe eine sehr einfache Suchmaschine basierend auf einem Artikel un zend der Website mit Volltext zusammen. Mein Verständnis ist, dass wenn ein Keyword 50% oder mehr erreicht, dies gelöscht wird. Das ist gut, aber ich weiß, dass es meinem Kunden nicht gefallen wird. Ich weiß, dass einige Keywords innerhalb eines Suchergebnisses angezeigt werden.MySQL Volltextsuche und Ergebnis nicht ziehen Ergebnisse

Mein Hauptproblem ist, dass, wenn ich suche, sagen wir 'Haus', es zieht nichts herauf; Dennoch können wir deutlich sehen, dass es an verschiedenen Stellen einen Eintrag dafür gibt.

Hier ist mein Skript

$sql = " 
SELECT *, 
MATCH(title, content) AGAINST('$keyword') AS score 
FROM articles 
WHERE MATCH(title, content) AGAINST('$keyword') 
ORDER BY score DESC 
"; 

Gibt es eine Möglichkeit, die Partitur zu ändern, um mehr Ergebnisse für genauen wors zu bekommen? Wenn das so ist, wie?

Dank

Antwort

0

Die Punktzahl automatisch berechnet wird, ich glaube nicht, dass Sie es ändern können. Versuchen Sie,:

$sql = " 
SELECT *, 
MATCH(title, content) AGAINST('" . $keyword . "') AS score 
FROM articles 
WHERE MATCH(title, content) AGAINST('" . $keyword . "') 
ORDER BY score DESC 
"; 

oder

$sql = " 
SELECT *, 
MATCH(title, content) AGAINST('" . $keyword . "' WITH QUERY EXPANSION) AS score 
FROM articles 
WHERE MATCH(title, content) AGAINST('" . $keyword . "' WITH QUERY EXPANSION) 
ORDER BY score DESC 
";