Поиск по сайту - нет ничего проще (Настройка CNSearch)
Для чего нужен поиск?
Удобство работы с Вашим сайтом и легкость при поиске нужной информации на нем являются важным моментом в процессе привлечения и удержания посетителей на сайте. Как известно, неудобство всегда отталкивает. И напротив, если посетителю будет легко и удобно работать с Вашим информационным ресурсом, то у него сложится хорошее мнение о сайте (и об его авторах) и он обязательно вернется через некоторое время.
Особенно остро стоит проблема быстроты и удобства поиска нужной информации, когда сайт содержит большие обьемы информации. В этом случае хорошим решением может оказаться использование поискового запроса по интересующей теме на сайте. Чтобы осуществить поиск по своему сайту Вам нужно использовать специальные скрипты (Perl, Php, ASP). Кроме того, что Вам потребуется знание и умение писать программы для одного из этих скриптов, также необходимо иметь возможность запускать их на выполнение. Как правило, можно использовать такие скрипты для работы сайта как при платном, так и бесплатном хостинге.
Программы.
Для этой цели существует масса программ и скриптов, есть платные, есть бесплатные. Вот их, неполный, список:
Мы будем пользоваться последней программой. Почему? Вот причины, по которым она мне понравилась больше других:
- Она бесплатна!
- Мне удалось запустить ее с первого раза;
- На настройку ушло менее 5 минут;
- Работает 100% автономно, не требует ни PHP, ни Perl. Даже не использует СУБД (MySql, PostgreSql, Oracle и др).
Но есть и недостатки:
- Нет возможности обновить поисковый индекс (при менее 10 тыс документов это тоже не проблема).
Как работает поиск.
Первое, что необходимо усвоить - это то, что, при нажатии на кнопку "Искать" поиск производится не по страницам сайта, а по специальной базе данных -поисковому индексу.
Собственно, по этой причине установка поискового механизма состоит из двух частей:
- Индексация- построение поискового индекса;
- Установкафронтенда- системы быстрого поиска по индексу.
А теперь более подробно, по шагам.
Шаг 1 - где взять программу.
Программу можно взять по адресу http://www.cn-software.com/ru/cnsearch/download/. На момент написания статьи доступна последняя версия - CNSearch 1.2
Уже на этой стадии Вам необходимо определиться, из под какой операционной системы будт произведена индексация, и какая операционная система установлена на том сервере, где будет установлен фронтенд.
Я производил индексацию со своего домашнего компьютера - по модему :) (из под Windows 2000), а фронтенд устанавливал на сервере ValueHost (операционная система FreeBSD 4.X)
Для распаковки я воспользовался архиватором WinRar (www.rarlab.com) - он успешно справился как с ZIP, так и с TAR.GZ архивами.
Шаг 2 - индексация.
После распаковки переходим в каталог "indexer" и настраиваем конфигурационный файл. У меня он получился такой:
Код:
[Job localhost]
[Index]
URL http://fantasy.ok.nov.ru/
Statistic Append
CharSet ByHTTPHeader
MaxFiles 300
Exclude .gif,.jpg
[Job ludok]
[Index]
URL http://lud.ok.nov.ru/
Statistic Append
CharSet ByMetaTag
MaxFiles 3000
Описание всех параметров можно найти в мануале, который включен в дистрибутив. (Правда он на английском языке, но я разобрался и без знания оного).
Конфигурационный файл содержит две задачи, первая с названиемfantasy, а вторая -ludok. (Строки 1 и 8). Каждая задача содержит по одному действию - [Index] (строки 2 и 9)
Для первой задачи в строке 3 задается стартовый адрес, именно с него начнется обход сайта. В строке 4 указан параметр "Statistic Append", который говорит о том, что созданный после индексации отчет необходимо дописать в файл stats.log (может принимать значения "No" - не создавать отчета вообще, и "Overwrite" - перезаписать старый файл).
В строке 5 указан способ определения кодировки, возможны следующие варианты:
- ByMetaTag - определять кодировку по тегу META content="charset".
- ByHTTPHeader - определять кодировку по полю Content-Type HTTP заголовка, если поле не содержит информации о кодировке, то производится попытка определит ее по META тегу, если и там нет ни какой информации, то система считает, что кодировка windows-1251
- win-1251 - Не определять кодировку, считать, что кодировка windows-1251
- koi8-r - Не определять кодировку, считать, что кодировка koi-8
Из всего перечисленного пробовал только первые два пункта, проблем не возникло ни с тем, ни с тем. В строке 6 указано максимальное количество файлов, если файлов больше 300, то они не добавляются в поисковый индекс.
Ну и, наконец, в строке 7, через запятую, указаны исключения. Если имя файла содержит подстроку ".jpg" или ".gif", то они не индексируются. На самом деле, эта строка не несет никакой полезной нагрузки, так как индексатор сам определит, что jpeg и gif файлы даже скачивать не стоит.
Файл создали - теперь запустим сам индексатор и посмотрим, что он нам скажет:
Код:
CNSearch ver.1.2 [build 4564]
Compiled Sat Nov 16 19:48:35 2002 under Microsoft Windows 2000 [Версия
5.00.2195]
Rebuilding URL list...Loading library: RTF (Rich text format)
Loading library: TXT (Plain text)
Loading library: DOC (Microsoft Word document format)
Loading library: XLS (Microsoft Excel document)
Loading library: MP3 (MPEG Layer 3 Audio)
Domain: fantasy.ok.nov.ru
[1/1] http://fantasy.ok.nov.ru [200:9454]..Ok
[2/14] http://fantasy.ok.nov.ru/news.htm [200:8738]..Ok
[3/15] http://fantasy.ok.nov.ru/arda.htm [200:6278]..Ok
...
[32/34] http://fantasy.ok.nov.ru/files/mmc.exe [302:268]
[33/34] http://fantasy.ok.nov.ru/peoples/index.htm [200:13960]..Ok
[34/34] http://fantasy.ok.nov.ru/peoples/asasd [200:13964]..Ok
О содержимом этих строчек ничего не сказано ни в readme.txt, ни в мануале, но я так полагаю, что две первые цифры в квадратных скобках - это, соответственно, порядковый номер документа и количество документов в очереди.
Потом идет URL индексируемой страницы, и опять в квадратных скобках код ответа сервера (200 Ok, 404 Not Found и т.д.) и размер индексируемого документа.
После того, как indexer закончит свою работу, Вы сможете увидеть четыре или пять файлов с расширением .cns:
- index.cns
- files.cns
- fulltxt.cns
- doc.cns
- stats.cns
Файл stats.cns я сразу удалил и больше о нем не вспоминал. Он содержал отчет о произведенной индексатором работе, а все остальные переместил в каталог cgi-bin на своем сервере.
Шаг 4 - Настройка Фронтенда
Теперь, из скачанного дистрибутива для FreeBSD я распакавал два файла:
freebsd\frontend\search freebsd\frontend\search.htm
Первый - это откомпилированная программа поиска, а второй файл - это шаблон поисковой страницы. Эти файлы я тоже скопировал в каталог cgi-bin, и файлу search установил права на запуск (Для этого в FAR'e (www.rarlab.com) при соединении по FTP я нажал Сtrl-A и поставил галочку напротив первого "X")
После этого осталось только исправить файл search.htm, а при знании HTML - это дело техники.
Шаг 5 - тестирование системы
И наконец - тестовый поиск: http://www.вашсервер.ru/cgi-bin/search?q=тест
Вот что у меня получилось: http://search.novgorod.ru/?q=%F2%E5%F1%F2&group=1
Оставлять комментарии могут только зарегистрированные пользователи.
Если вы не являетесь зарегистрированным пользователем, то вам необходимо зарегистрироваться. Регистрация бесплатна. Если вы уже зарегистрированы на CodeNet, то вам необходимо ввести логин и пароль в верхней (Alt-U) части страницы.
Источник: http://feedproxy.google.com/~r/codenet/read/~3/DbvkyvSJH8M/search.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
"Я придерживаюсь простого правила: все дела этого дня должны быть сделаны в этот день". Герцог Веллингтон. |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.