Я попытался реализовать простую поисковую систему для своего приложения. Это то, что я сделал:Улучшите мою поисковую систему
CREATE FULLTEXT INDEX item_name_other_name_desc_index
ON item (name,other_name,description)
public static function Search($string)
{
$delims = ',.; ';
$word = strtok($string,$delims);
while($word)
{
$result['accepted'][] = $word;
$word = strtok($delims);
}
$string = implode(" ", $result['accepted']);
$sql = 'SELECT item_id,name,other_name,description,price,discounted_price, thumbnail_photo,large_photo
FROM item
WHERE
MATCH(name,other_name,description)
AGAINST(:string)' ;
$parameters = array(':string' => $string);
$result['items'] = DB::GetAll($sql,$parameters);
return $result;
}
Это работает и ищет только слова. Может кто-нибудь предложить мне, как я могу улучшить его и как я могу продолжить, если я хочу искать строки типа «Bi», которые покажут мне результаты, начинающиеся с этой строки. (Например, Bike ..)
Если вы действительно планируете построить на этом больше, или использовать его в приложении высокого трафика, вы, вероятно, лучше заменить то, что у вас есть с чем-то вроде Луцен. В противном случае вы обречены самостоятельно восстанавливать функции Lucene. –