Pro100pro Yaroslav Vorozhko Home - About programming, management
Yaroslav Vorozhko Home [/] About programming, management and business Home Resume/CV September 13 Поздравляем с Днем программиста! Posted In: Personal by Yaroslav Vorozhko Поздравляю Всех с днем программиста! Пусть ваш код будет красивый. Пусть ЗП будет высокой. И пусть баги обходят вас стороной ;-)! Всем удачи и хорошего праздника! Blog this: Digg it del.icio.us Technorati? No related posts Up? 3 September 6 Использование одной инсталяции mnoGoSearch для организации поиска на нескольких сайтах Posted In: MySQL , PHP by Yaroslav Vorozhko Прежде чем приступить Настраиваем mnoGoSearch Компиляция Настраиваем indexer.conf Создаем базу данных Настраиваем проект Добавляем сайт Запускаем индексацию сайта Настраиваем .htaccess Настраиваем поисковый шаблон Прежде чем приступить mnoGoSearch является поисковым движком, использующим SQL, и предназначенным для организации поиска на одном или нескольких веб-сайтах. Мы будем использовать одну инсталляцию и одну базу mnoGoSearch для поддержки нескольких сайтов. Я использовал версию mnoGoSearch 3.3.4 – скачать последнюю версию можно здесь. http://www.mnogosearch.org/download.html . Настраиваем mnoGoSearch Настройка mnoGoSearch состоит из нескольких шагов. Компиляции – установки поисковой системы на сервер. Настройки indexer.conf – установки основных параметров управления индексацией и поиском. Создание базы данных. Компиляция Компиляция – это сборка исполняемых файлов из исходников. mnoGoSearch – это OpenSource продукт и его исходники распространяются свободно. Я опишу только те опции конфигурирования которые я использовал при сборке. Мои настройки были такими: ./configure –with-mysql –with-openssl. Это настроит mnoGoSearch на поддержку базы данных MySQL и протокола SSL, все остальные опции будут установлены по умолчанию. Напомню, что каталогом по умолчанию является /usr/local/mnogosearch. После конфигурирования mnoGoSearch, надо его скомпилировать и установить. Запускаем: make & make install. Подробнее узнать об опциях инсталляции можно на сайте mnoGoSearch http://www.mnogosearch.org/doc33/msearch-install.html . Настраиваем indexer.conf indexer.conf – это основной фаил конфигурации mnoGoSearch. Файл разделен на секции и снабжен подробными комментариями по каждой опции. Файл находится в каталоге etc/ относительно базового каталога mnogosearch, т.е. если вы установили mnoGoSearch в каталог /usr/local/mnogosearch, то файл indexer.conf будет в каталоге /usr/local/mnogosearch/etc. Что нам необходимо сделать в первую очередь: Настроить подключение к БД; Настроить фильтр индексации, т.е. указать какие файлы разрешено индексировать, а какие нет; Добавить первый сайт, который мы будем индексировать. Если вы только, что установили mnoGoSearch, то файл indexer.conf называется indexer.conf-dist, необходимо скопировать indexer.conf-dist в indexer.conf. Итак, что бы настроить подключение к БД вам необходимо знать: логин, пароль, хост и имя базы данных. В файле indexer.conf укажите эти параметры в опции DBAddr, например: DBAddr mysql://root:password@localhost/mnogosearch/?dbmode=single Следующее – это настройка фильтра индексации. Сначала укажем, что индексировать можно все, а потом постепенно запретим те расширения, которые не представляют для нас интереса. Allow * #разрешает индексировать все расширения Далее в файле конфигурации идут опции Disallow, в которых указаны расширения запрещенные к индексации. И последние – это добавление первого сервера, чтоб добавить сервер необходимо прописать опцию Server указав имя сайта для индексации. Например: Server http://www.mysite.com/. Добавление сайтов мы будем делать на этапе добавления проекта. Создаем структуру базы данных Чтобы создать структуру БД – запустите команду ./indexer -Ecreate. Команда indexer находится в каталоге sbin относительно каталога установки mnoGoSearch, т.е. по умолчанию это каталог /usr/local/mnogosearch/sbin. Настраиваем проект Добавляем сайт В первую очередь нам необходимо изменить indexer.conf – добавив в него адрес нашего нового сайта. Находим в секции Servers опции Server и добавляем наш сервер: Server http://mysite.com/ Индексируем сайт Для запуска индексации нового или новых проектов, необходимо выполнить следующую команду: ./indexer Если вам надо переиндексировать весь или все проекты целиком, то для этого добавьте опцию -а, например: ./indexer -a. Настраиваем .htaccess В качестве поискового шаблона мы будем использовать файл с расширением .zhtml. Что бы это расширение ассоциировало наш шаблон с поисковым скриптом search.cgi, необходимо прописать его в конфигурации apache или в .htaccess файле проекта. Следующие строки показывают, как это сделать: AddType text/html .zhtml AddHandler zhtml .zhtml Action zhtml /cgi-bin/search.cgi В каталоге cgi-bin у нас будет находиться файл search.cgi, который и будет обрабатывать все наши запросы к mnoGoSearch. Настраиваем поисковый шаблон Поисковый шаблон – это специальный файл отвечающий за внешний вид поисковой формы и результата поиска. Также этот файл содержит настройки отображения и обработки результатов поиска. В каталоге etc дистрибутива mnoGoSearch есть пример файла шаблона search.htm-dist, а также в каталоге bin есть специальный скрипт search.cgi, который мы будем использовать для осуществления поиска по сайту. Прежде всего нам необходимо скопировать search.cgi в директорию cgi-bin и установить для директории и для search.cgi права доступа 755. mkdir cgi-bin cp /usr/local/mnogosearch/bin/search.cgi cgi-bin/search.cgi chmod -R 755 cgi-bin Теперь создаем шаблон. Скопируйте search.htm-dist в каталог проекта и назовите его search.zhtml. cp /usr/local/mnogosearch/etc/search.htm-dist search.zhtml В search.zhtml необходимо изменить две вещи: первая - это подключение к БД, и второе - определить элемент ul, который должен содержать адрес проекта.
. Элемент ul является ключевым для нашей задачи, он определяет по какому проекту вести поиск, если его не указать то поиск будет идти по всем проектам. Для того, чтобы проверить работу нашего поисковика перейдите по адресу: http://mysite.com/search.zhtm и испробуйте поиск. Вывод В заключении можно добавить CSS стили и провести небольшую HTML верстку, чтоб наш шаблон смотрелся красиво. Blog this: Digg it del.icio.us Technorati? No related posts Up? 2 Subscribe categories Ajax (2) Books (5) Business (6) CakePHP (2) ECommerce (1) Javascript (8) jQuery (2) MySQL (3) Optimization (2) Personal (13) Photoblog (2) PHP (8) Prototype (2) Tips and Tricks (11) blogroll Best tech videos Best World Photos Julia Vorozhko Magento Ukrainian PHP Community Vedeney's Blog calendar September 2007 M T W T F S S « Aug Oct » 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 © Yaroslav Vorozhko Home 2007 WordPress Themes Sponsored By Web Hosting Unleashed