部分的な単語を検索できるように拡張したいエントリのタイトルを検索する単純なmysql検索機能があります...
たとえば、検索するとしましょう: キャンセル
現在、タイトルにキャンセルという単語が含まれているものはすべて返されます。しかし理想的には、タイトルにキャンセルという単語が含まれているものも返す必要があります。
これが私がこれまでに持っているものです...
function search_title_body($q){
$q = '+' . $q;
$q = str_replace(' ', '+', $q);
$q = "+(".$q.")";
$query = "SELECT *,
MATCH(title) AGAINST('$q' IN BOOLEAN MODE) AS score
FROM results
WHERE (MATCH(title) AGAINST('$q' IN BOOLEAN MODE))
AND (published = 1)
ORDER BY score DESC";
$query = $this->db->query($query);
$results = array();
foreach ($query->result() as $row){
$results[] = $row;
}
return $results;
}
誰かが私を正しい方向に向けることができますか? 助けてくれてありがとう:)