Продолжаем осваивать движок поисковой системы DataParkSearch Engine. На этот раз займемся его базовой настройкой.
Итак, в прошлый раз мы установили DataParkSearch Engine, теперь приступаем к его настройке.
Все файлы настроек системы хранятся в папке /usr/local/dpsearch/etc. Все файлы настроек по умолчанию имеют в конце приставку -dist, которая означает, что это файл-пример настройки. Например storedoc.htm-dist, indexer.conf-dist. Первым делом уберем у всех файлов эту приставку. Для этого можно воспользоваться утилитой KRename.
Теперь приступаем непосредственно к настройке. Для этого открываем в текстовом редакторе файл indexer.conf. Я для этих целей использую mcedit:
mcedit /usr/local/dpsearch/etc/indexer.conf
Как я уже говорил, здесь будут описаны только основные настройки, существенно влияющие на работу поисковой системы.
DBAddr mysql://foo:bar@localhost/search/?dbmode=cache
Здесь нужно прописать настройки доступа с базе данных в следующей форме:
типБД://логин:пароль@хостБД/имяБД/?dbmode=cache
ТипБД указывает на используемую Вами СУБД (mysql или pgsql).
Параметр ?dbmode=cache позволяет снизить нагрузку на базу данных благодаря кешированию запросов.
После указания настроек доступа к базе данных следует выполнить комманду
/usr/local/dpsearch/sbin/indexer -Ecreate
Это создаст необходимые для работы таблицы в базе данных.
LocalCharset
В этой секции раскомментируйте строку с названием той кодировки, которую Вы хотите использоваться для хранения данных в базе данных. Я-бы посоветовал UTF-8, поэтому убираем решетку перед строкой #LocalCharset UTF-8
StopwordFile <filename>
Здесь указываем путь к файлу со списком стоп-слов (слова, которые индексировать не нужно). DataParkSearch Engine по умолчанию поставляется с небольшим списком русских стоп-слов, поэтому пишем здесь:
StopwordFile /usr/local/dpsearch/etc/stopwords/ru.sl
LangMapFile <filename>
Указывает путь к файлу языковой карты. Можно не менять.
MinWordLength, MaxWordLength
Эти две переменные указывают на соответственно минимальную и максимальную длину слов, которые будут храниться в базе данных. По умолчанию установлены значения в 1 и 32 соответственно.
MaxDocSize bytes
Указывает максимальный размер обрабатываемых веб-страниц. По умолчанию 1 мегабайт.
MinDocSize bytes
Аналогична предыдущей переменной, но указывает минимальный размер веб-страниц. По умолчанию 0.
HTTPHeader <header>
Указывает HTTP-заголовки, отправляемые поисковым роботом серверу. User Agent тоже указывается здесь:
HTTPHeader "User-Agent: My_Own_Agent"
Allow [Match|NoMatch] [NoCase|Case] [String|Regex] args
Эта директива позволяет разрешать к индексации страницы, в адресе которых есть определенное выражение. Например:
Allow Match *.htm разрешает индексировать все страницы, URL которых оканчивается на .htm, а Allow NoMatch *.htm разрешает индексировать все страницы, которые не оканчиваются на .htm.
Disallow [Match|NoMatch] [NoCase|Case] [String|Regex] args
Аналогична предыдущей директиве, но используется наоборот для запрета индексации страниц. Например, Disallow *.php запрещает индексировать все страницы. URL которых оканчивается на .php.
Alias <master> <mirror>
Позволяет организовать систему индексации сайтов по зеркалам.
Здесь master — основной сайт, mirror — зеркало.
Например:
Alias http://www.mysql.com/ http://mysql.udm.net/
Period <time>
Указывает периодичность переиндексации сайтов. Например Period 7d указывает, что переиндексировать сайты следует раз в неделю.
Server [Method] [SubSection] URL [alias]
Одна из самых важных директив. Указывает URL сайта для индексации. Например Server http://2lx.ru.
Для каждого индексируемого сайта следует указывать отдельную директиву Server. Согласен, что это крайне неудобно, поэтому в следующем обзоре я опишу как создать веб-интерфейс для добавления/удаления индексируемых сайтов.
На это базовую настройку DataParkSearch Engine можно считать завершенной. В следующих статьях мы займемся более углубленной его настройкой, а также прикруткой своего дизайна.
|
|
Webmoney Z163628999150, R617151845974
|
А файл search.cgi в cgi-bin копировали?
Как бы не копировал.
Тут не написано...
Вот сейчас скопировал, даже рестарт сделал apache.
Скажите, где оно должно быть дальше?
Или DPSearch еще надо к apache как-то подцепить?
Непонятно.
эм... пардон. я не в ту папку search.cgi засунул.
так что последний вопрос снимается.
А вот меня не устраивает заморока с CGI, хочу PHPшную морду. Есть какие-нить готовые?
В свободном доступе нет, почему-бы не попробовать написать самому?
Написал бы, еслиб в PHP что-то понимал. В данный момент пытаюсь прикрутить к апачу поддержку CGI. А получаю всё время 500-ую ошибку в ответ =(
Странно, почему разрабы всё ещё юзают этот древний механизм и не делают морд на альтернативных платформах, как то PHP, Python, Ruby.
Кстати, эти странные товарищи оказывается и API не задокументировали до сих пор. Так что даже при знании пыха, написать морду будет крайне не просто.
17:30
Прошу прощения. За глупый, наверно, вопрос...
Ну вот я установил все. Настроил вроде. Таблицы создались...
А где страница? Что-то я не найду страницы этого движка. чего только в браузер не набирал.
Что туда набрать-то, чтоб увидеть страницу поиска? Ну или что там должно быть...
Все что у меня есть, так это стандартная «It works!»
Я так долго собирал все, что уже и плюнуть жалко. Хочется посмотреть, как оно работает.