Написание поискового механизма

Статус
Закрыто для дальнейших ответов.

vovan

Active Member
Регистрация
06.07.2006
Сообщения
40
Доброго времени суток, очень нужен поиск на сайте.
Вопрос к мастерам, опишите плиз сам механизм, принцип работы что ли поиска, как вы делаете?
Неплохой материал нашел по этому адресу, что можете сказать?

Скрипты скачивал , ничего норм. не нашел, или не разобрался :wacko: ; буду сам писать.
 

v0rbis

selfcoded
Регистрация
02.05.2005
Сообщения
923
поиск на сайте чего именно? если определенного материала с определенным набором признаков (текстовых причем) то есть приемчик который юзаю.

а если по страницам и тд и тп есть же хренотень типа mnoGoSearch которая много чего делает
 

vovan

Active Member
Регистрация
06.07.2006
Сообщения
40
Спасибо, но очень уж хотелось бы написать самому

поиск на сайте чего именно? если определенного материала с определенным набором признаков (текстовых причем) то есть приемчик который юзаю.

а если по страницам и тд и тп есть же хренотень типа mnoGoSearch которая много чего делает
Все просто, обычная форма поиска, скрипт производит поиск в базе данных и в файлах.
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
Ну что-ж, если вас действительно интересует механизм работы, то вот механизм работы W3Search:
1. Поиск состоит из двух частей: собственно поиска и индексатора.
2. Индексатор периодически ходит по страницам сайта, выглядит это так:
— Скачиваем код страницы (cURL-ом или fsockopen-ом, смотря что есть на сервере)
— Если пришёл ответ сервера в четвёртом или пятом блоке ответов (40? или 50?) — удаляем страницу из индекса (она не существует или недоступна)
— Если нужно, перекодируем результат (по умолчанию все данные должны быть в windows-1251)
— Выбираем оттуда все ссылки и добавляем в базу (чтобы проиндексировать позднее)
— Вычищаем код страницы от тегов, оставляем только текст
— Вычищаем, также, содержимое блоков <noindex> и <!-- … -->
— Вычищаем лишние пробелы, переносы строк и прочее
— Заносим в БД

В поиске используется SQL-команда LIKE. Можно было бы использовать MATCH … AGAINST, если бы он корректно понимал русский язык, но увы, у него с этим проблемы (он ставит нулевую релевантность).
 

vovan

Active Member
Регистрация
06.07.2006
Сообщения
40
Спасибо за пояснение! Рас уж вы так разбираетесь в W3Search, то скажите пожалуйста, где именно на локалке мне прописывать строки
Код:
0 */3 * * * /usr/bin/php …/w3s_inc/robot.php > /dev/null
(настройка индексатора), у меня денвер. Заранее спасибо, просто никак не могу найти.
 

deMone

Злой страшный дядька
Регистрация
30.01.2006
Сообщения
937
В денвере никак. Просто запускайте robot.php вручную. Cron доступен только на хостинге.

Я так разбираюсь в W3Search потому что я его написал.
 

vovan

Active Member
Регистрация
06.07.2006
Сообщения
40
Статус
Закрыто для дальнейших ответов.
Верх Низ