MySQL tam metin arama ve sonuç yukarı çekerek değil skoru

1 Cevap php

Ben FULLTEXT kullanarak bir makale un zerdüştlerin sitesinde dayalı birlikte çok basit bir arama motoru koydu. Benim anlayış bir anahtar kelime puanları% 50 veya daha fazla ise, bu düşmüş olmasıdır. Bu iyi, ama benim müşteri hoşuna gitmiyor biliyorum. Ben bazı anahtar kelimeler, arama sonucunda içinde gösterilmesini bekliyoruz biliyorum.

Benim asıl sorun için arama yaparsanız, bir şey çekmek değildir, 'ev' Diyelim ki; Henüz biz açıkça çeşitli yerlerde bunun için bir girdi olduğunu görebilirsiniz.

İşte benim senaryom

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

Kesin beat için daha fazla sonuç elde etmek skoru değiştirmek için bir yolu var mı? öyleyse nasıl olur?

Teşekkürler

1 Cevap

Skveya otomatik olarak hesaplanır, ben bunu değiştirebilirsiniz sanmıyveyaum. Bunu deneyin:

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

veya

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