Для интеграции с полнотекстовым поиском по сайту необходимо:
Разберем пример:
function search_photos($query, $look){ $inDB = cmsDatabase::getInstance(); // Определяем объект класса БД $searchModel = cms_model_search::initModel(); // Определяем объект класса модели компонента "Поиск" // Сам поисковый запрос $sql = "SELECT f.*, a.title as cat, a.id as cat_id FROM cms_photo_files f INNER JOIN cms_photo_albums a ON a.id = f.album_id WHERE MATCH(f.title, f.description) AGAINST ('$query' IN BOOLEAN MODE) AND f.published = 1"; $result = $inDB->query($sql); // При наличии результата запроса, обрабатываем его, добавляя результаты в таблицу cms_search if ($inDB->num_rows($result)){ while($item = $inDB->fetch_assoc($result)){ $result_array = array(); $result_array['link'] = "/photos/photo".$item['id'].".html"; // основная ссылка на результат $result_array['place'] = $item['cat']; // заголовок места назначения $result_array['placelink'] = '/photos/'.$item['cat_id']; // ссылка на место назначения $result_array['description'] = $searchModel->getProposalWithSearchWord($item['description']); // описание результата, прошедшее через метод, который ищет искомые слова в описании $result_array['title'] = $item['title']; // заголовок результата $result_array['pubdate'] = $item['pubdate']; // дата публикации найденного материала $result_array['session_id'] = session_id(); // id текущей сессии пользователя $searchModel->addResult($result_array); // Заносим результат в таблицу cms_search (если такой результат уже есть, добавлен не будет) } } return; }
Таким образом, задача данной функции непосредственно найти искомый результат и занести его в таблицу cms_search.
Реклама спонсоров
Условия доставки. Телефон горячей линии.
kover-zefir.ru
Правила проката, цены, контакты. Рейтинг материалов.
restoranrusski.ru
Описание дополнительных услуг. Формы документов.
urbizness.ru