Итак, я пытаюсь сделать интеграцию поиска для своего (ну почти) компонента объявлений по этому мануалу.
В компоненте есть таблица, в которой хранится информация об объекте объявления, например, об инструменте. По этой таблице я и хочу сделать поиск.
Вот её структура:
`icms_ads_units` ( `id` int(10) NOT NULL AUTO_INCREMENT, `title` varchar(80) NOT NULL, `id_owner` int(10) NOT NULL, `phone1` varchar(20) NOT NULL, `phone2` varchar(20) NOT NULL, `created_at` datetime NOT NULL, `description` text, `region_id` int(10) NOT NULL, `region_title` varchar(100) NOT NULL, `city_id` int(10) NOT NULL, `city_title` varchar(80) NOT NULL, ) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8
В файле psearch.php я пишу следующее:
<?php function search_instruments($query, $look){ $inDB = cmsDatabase::getInstance(); $searchModel = cms_model_search::initModel(); // created_at НЕ fulltext index $sql = "SELECT `id`, `title`, `phone1`, `phone2`, `created_at`, `description`, `region_title`, `city_title`, `is_sell` FROM `icms_ads_units` WHERE MATCH(`title`, `phone1`, `phone2`, `description`, `region_title`, `city_title`) AGAINST ('$query' IN BOOLEAN MODE)"; $result = $inDB->query($sql); if ($inDB->num_rows($result)){ while($item = $inDB->fetch_assoc($result)){ $result_array['link'] = "/instruments/show/".$item['id'].".html"; $result_array['place'] = "Инструменты"; $result_array['placelink'] = "/instruments"; $result_array['description'] = $searchModel->getProposalWithSearchWord($item['description']); $result_array['title'] = $item['title']." в г.".$item['city_title']; $result_array['pubdate'] = $item['created_at']; $searchModel->addResult($result_array); } } return; } ?>
SELECT `id`, `title`, `phone1`, `phone2`, `created_at`, `description`, `region_title`, `city_title`, `is_sell`
FROM `icms_instruments_units`
WHERE MATCH(`title`, `phone1`, `phone2`, `description`, `region_title`, `city_title`) AGAINST ('$query' IN BOOLEAN MODE)"
прекрасно работает сам по себе, если, например, запустить его в phpmyadmin. Вводишь вместо $query искомое слово, и если оно встречается в хотя бы одном поле из индекса, то запрос возвращает соответствующие записи.
Однако, при использовании на сайте через компонент поиска (поиск по нужному компоненту конечно активирован), результатов поиска нет. Моя ошибка явно в файле psearch.php. Но я уже все варианты перебрал, и никак не могу понять, в чём дело. Знатоки наверняка сразу увидят ошибку. Надеюсь.
Помогите, пожалуйста, разобраться, почему не работает поиск, что не так.