Поисковая система для Вашего сайта
Если Вы разрабатываете сайт сами или используете готовый движек для своего сайта, то Вы скоро сталкнетесь с необходимостью сделать качественный поиск по своему сайту. Простейшее решение это прикрутить готовый поиск от Google или от Yandex. Но! Наверняка оба этих "монстра" не все ваши страницы проиндексировали и включили в свой поисковый индекс, и как следствие при поиске они не будут находится.
В интернете встречается большое количество простеньких поисковых скриптов, но они все отличаются одной ососбенностью: Они работают с файлами на диске. Да, некоторые позволяют искать и в PHP файлах, но если у вас используются включения SSI или include на PHP, то такой поиск не даст вам ожидаемого результата.
Используя наш сканер для генерации карты сайта, Вы можете получить готовые базы и скрипты для поиска на своем сайте. Достоинство этого решения, что поиск будет осуществлен на полностью сформированной странице, т.е. ни одно слово не пропадет из поиска.
Если Вы отсканировали Ваш сайт в любом из платных режимов, то в течение 3х дней Вы можете проверить,
как работает наша поисковая система по вашему сайту, перед установкой её себе на сайт:
Как это работает?
Структура таблиц для поиска
В процессе сканирования формируются следующие таблицы:
Таблица page содержащая список страниц на вашем сайте:
CREATE TABLE IF NOT EXISTS page ( id INT UNSIGNED NOT NULL, PRIMARY KEY (id), url VARCHAR(255) NOT NULL, size MEDIUMINT(7) UNSIGNED NOT NULL, title TINYTEXT NOT NULL, time DATETIME ) DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin';url - адрес страницы
size - размер страницы
title - заголовок страницы
time - время последнего изменения страницы
Таблица, указывающая на какой странице и сколько раз это слово встречается
CREATE TABLE IF NOT EXISTS word ( page INT UNSIGNED NOT NULL, word CHAR(30), count MEDIUMINT(7) UNSIGNED NOT NULL, UNIQUE (word,page) ) DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin';
В таблицу попадают слова длинее 3х символов. Если на странице встречаются теги <index> .. </index>, То поисковые слова выбираются только из содержимого, заключенного в эти теги. Все слова преобразуются в нижний регистр.
Скрипт пока позволяет работать только с MySQL. Если будет потребность, в следующей версии сделаю работу и БЕЗ MySQL, с помощью текстовых файлов. В этом случае создается два файла соответствующей структуры. Поля в строке разделяются символом ';'.
Форма поискового запроса:
<form method=get action="/search/">
Поисковая фраза: <input type=text name="q">
<input type=submit value="Найти">
</form>
Оформите поисковый запрос в стиле своего сайта.
Скрипт поиска
Упрощенный скрипт, использующий MySQL, который будет искать по полученным базам:
// открытие БД MySQL
include_once $_SERVER['DOCUMENT_ROOT'].'/config.php';
$q=$_GET['q']; // поисковый запрос
$root='http://'.$_SERVER['HTTP_HOST'].'/';
$ar_q=explode(" ", trim($q));
$add_sql='';
for($i=0;$i<count($ar_q);$i++){
$add_sql.=' locate("'.strtolower(addslashes($ar_q[$i])).'",word)>0 and';
}
$add_sql=' WHERE page.id=word.page and '.substr($add_sql,0,-4);
echo "<ol>\n";
$query=sql('SELECT page.url,page.title,word.word FROM word,page
WHERE page.id=word.page and '.substr($add_sql,0,-4).' GROUP by page.url LIMIT 1, 10');
while ($row=mysql_fetch_assoc($query)){
echo '<li><a href="'.$root.$row['url'].'">'.$row['title'].'<br>'.$root.$row['url']."</a><br>\n";
}
echo "</ol>\n";
Полнофункциональный скрипт поиска на вашем сайте Вы можете скачать здесь.
Прокомментировать/Отблагодарить
Популярное:
- Бесплатные прокси
- Анализ сайта
- Чей IP-адрес?
- Чей домен?
- Где телефон?
- Генератор Sitemap
- Примеры Ajax
- Примеры PHP
- Примеры Javascript
- Примеры HTML, CSS
- GIF-аниматор
- GEO-сервисы
- Сайт в ТОП (SEO)
- Полезные ссылки
- Генератор Robots.txt
Содержание:
- HTML
- Что такое HTML
- <!DOCTYPE>
- Мета теги в <head>
- Тег <base>
- Текст в html
- HTML списки
- Ссылки
- Картинки на сайте
- Таблицы
- Фреймы
- Формы
- DHTML
- Музыка
- Видео
- Карты изображений
- SVG карты
- Графика в HTML
- WML
- SSI .shtml
- Таблица цветов RGB
- Правильное
сочетание цветов - Таблица
«безопасных»
цветов - Таблица символов
- Примеры HTML, CSS
- CSS
- JavaScript
- PHP + MySQL
- Введение в PHP
- Основы языка
- Использование
массивов - $_server
- Создание функций
- Строки
- Функции работы
со строками - Объектное
программирование - Формы
- Файлы
- Загрузка файлов
на сервер - MySQL
- Cookie
- htaccess
- Безопасность
- Сессии
- Отправка почты
- Кэширование
- Дата, время
- Математические
функции - Дополнительные
возможности - Регулярные
выражения - Библиотека Curl
- IMAP, POP3, NNTP
- Оптимизация
- Примеры скриптов
- XML + XSLT
- AJAX
- Графика CorelDRAW
- SEO
- Сервисы
- Разное
- Движки сайтов (CMS)
- Регистрация
доменов и хостинг - Заработок для
web-мастеров - Хостинг
- Настройка DNS
- ADSL
- RSS
- ActiveX и HTML
- Паролирование
страницы - HTTP коды
- HTTP протокол
- HTTP заголовки
- Прячем ссылки
- ☠ Черный список
сайтов - ☭ Заработок
в интернете - Термины и
определения - Продажа доменов
- ✉ Настройки
Яндекс-почты - Кнопки социалок
- ☎ Настроки SIP
в телефоне - Создание
поискового плугина - Сервис
коротких ссылок - Друзья
- Статьи Liex
- Задания к л/р
- Примеры
зачетных задач
- Статьи, обзоры
Новое за неделю
Сейчас на сайте: 2721