Не содержит лицензионных ограничений на число индексируемых документов, их размер или суммарный размер индекса.
Позволяет индексировать документы как через HTTP-соединение, так и чтением локальной файловой системы.
Поддерживает все возможности языка запросов, ранжирования результатов поиска и подсветки найденных слов.
Представляет результаты поиска во встроенном дизайне, созданном Студией Артемия Лебедева.
Позволяет представить результаты поиска в виде XML-документа с определенной схемой, который может быть обработан произвольным образом.
Имеет возможность задавать более одной группы документов с независимой настройкой параметров индексирования.
Имеет возможность реализовать "расширенный поиск" для пользователей, не знакомых с языком запросов, организовать поиск по тематическим разделам, сгруппировать найденные документы по различным признакам.
Яndex.Server 3.8 Free Edition имеет следующие ограничения:
Раздел Секция DataSrc. Атрибут id может принимать только значения ftds и webds. Другие источники данных не поставляются.
Раздел Секция DocFormat. ДирективаMimeType может принимать только значения text/plain и text/html. Парсеры других форматов не поставляются.
Раздел Секция DocFormat. Поддерживается только конфигурация HTML-парсера по умолчанию.
Раздел Сортировка и группировка найденных документов. В дизайне по умолчанию поддерживается только несгруппированный список документов.
Скрипты и шаблоны формирования страниц не поддерживаются.
Кеширование поисковых запросов не поддерживается.
Установите архив или пакет. Запустите Яndex.Server 3.8 Free Edition .
Распакуйте архив с дистрибутивом программы в произвольную папку, которую в дальнейшем будем называть <yandex>.
Для настройки программы отредактируйте файл yandex.cfg, расположенный в директории <yandex>, как описано в следующем разделе.
Установите системный сервис с помощью команды <yandex>\yandex.exe -i, затем стартуйте Яndex.Server 3.8 Free Edition с помощью приложения Service панели управления (для Windows NT/2000/XP) или перезагрузив систему (для Windows 95/98/Me).
Установите rpm-пакет при помощи команды rpm:
rpm -i имя_rpm-пакетаЕсли в вашем дистрибутиве такой команды нет, распакуйте в корневой каталог tgz-архив, используя команду tar:
tar -zxvf имя_tgz-архива -C /
Для настройки программы отредактируйте файл yandex.cfg, расположенный в директории <yandex>, как описано в следующем разделе.
Выполните команду
/etc/rc.d/init.d/yandex.sh startкоторая запустит Яndex.Server в режиме демона.
Установите пакет при помощи команды pkg_add:
pkg_add имя_пакеталибо распакуйте tgz-архив при помощи команды tar:
tar -zxvf имя_tgz-архива -C /
Для настройки программы отредактируйте файл yandex.cfg, расположенный в директории <yandex>, как описано в следующем разделе.
Выполните команду
/usr/local/etc/rc.d/yandex.sh startкоторая запустит Яndex.Server в режиме демона.
Важно: Для установки и обновления пакетов вы должны быть суперпользователем root.
Откройте в браузере веб-страницу http://localhost:17000/admin и нажмите на кнопку Запустить, расположенную рядом с заголовком Индексатор: остановлен. Дождитесь окончания процесса индексирования. После окончания индексирования в поддиректории workindex рабочей директории должны быть созданы шесть файлов, имеющих ненулевую длину - indexcfg, indexinv, indexkey, indexdir, indexarc, indexdat.
На веб-странице http://localhost:17000/admin нажмите на кнопку Запустить, расположенную рядом с заголовком Поиск: остановлен. Теперь страница http://localhost:17000/ содержит форму для поиска.
Для настройки Яndex.Server 3.8 Free Edition найдите или создайте в рабочей директории файл yandex.cfg и отредактируйте его в произвольном текстовом редакторе. yandex.cfg представляет собой текстовый файл, в котором перечислены директивы, задающие параметры Яndex.Server 3.8 Free Edition .
В простейшем случае yandex.cfg имеет следующий вид:
<Collection> <DataSrc id="webds"> Config -w www.firma.ru/index.html </DataSrc> </Collection>
В качестве значения опции -s параметра директивы Config укажите адрес веб-страницы, которая будет проиндексирована первой. Адреса последующих страниц будут получены индексатором в результате анализа гипертекстовых ссылок. В итоге будут проиндексированы все страницы в домене www.firma.ru, на которые можно перейти по ссылкам в первой страницы.
Ниже приведен пример простой HTML-формы, которую вы можете разместить на страницах вашего Веб-сервера для ввода данных для поиска:
<!-- форма поиска --> <form name="search" method="get" action="http://www.firma.ru:17000/"> <b>Поиск:</b><br> <input size="15" name="text" value="" maxlength="200"> <input type="submit" value=" Найти "> </form>Задайте вместо www.firma.ru имя машины, на которой у вас установлен Яndex.Server 3.8 Free Edition . Также задайте свой номер порта, на котором работает Яndex.Server 3.8 Free Edition , если он отличается от принятого по умолчалчанию значения 17000.
Запуск и остановка Яndex.Server 3.8 Free Edition происходят по-разному в операционных системах Windows и Unix.
Особенности Windows-версии. Яндекс-сервер реализован в программном модуле yandex.exe и является сервисом операционной системы. Для Windows NT/2000/XP запуск и остановка сервиса может быть осуществлены посредством приложения Service панели управления или с помощью команды NET. В параметрах сервиса может быть указан автоматический запуск. В Windows 95/98/Me запуск yandex.exe производится автоматически после перезагрузки операционной системы и до входа в систему первого пользователя. Во всех случаях сервис должен быть предварительно установлен с помощью запуска программы с ключом -i. При запуске yandex.exe без ключей под Windows NT/2000/XP программа работает как обычное консольное приложение.
Особенности Unix-версии. Яндекс-сервер реализован в программном модуле /usr/local/sbin/yandex. Для автоматического запуска этого модуля при старте операционной системы проще всего воспользоваться готовым управляющим скриптом yandex.sh, входящим в комплект поставки. Этот скрипт должен находиться в каталоге, содержащем скрипты запуска приложений при загрузке вашего компьютера:
в Linux - обычно это каталог /etc/rc.d/init.d. Именно в этом каталоге должен находиться скрипт yandex.sh. Кроме того, на файл yandex.sh должны вести символические ссылки из каталогов /etc/rc.d/rc0.d, /etc/rc.d/rc2.d и /etc/rc.d/rc3.d для корректного запуска и остановки Яndex.Server 3.8 Free Edition на разных уровнях выполнения операционной системы.
во FreeBSD-4.2 или выше - это каталог /usr/local/etc/rc.d
Для остановки Яndex.Server 3.8 Free Edition запустите скрипт yandex.sh с опцией stop.
Для перезапуска Яndex.Server 3.8 Free Edition запустите скрипт yandex.sh с опцией restart.
Ключи командной строки, сопровождаемые устанавливаемым значением, дублируют директивы секции Server конфигурационного файла, но имеют более высокий приоритет. Более детальные описания этих параметров даны в разделе Директивы секции Server.
IP-адрес, на котором работает Яндекс-сервер. В отсутствие ключа IP-адрес может быть установлен в директиве IPAddress конфигурационного файла.
Порт, на котором работает Яндекс-сервер. В отсутствие ключа порт может быть установлен в директиве Port конфигурационного файла.
Хост, на котором работает Яндекс-сервер. В отсутствие ключа хост может быть установлен в директиве Host конфигурационного файла.
Максимальное количество одновременно выполняемых поисковых запросов. В отсутствие ключа данное значение может быть установлено в директиве Threads конфигурационного файла.
Максимальный размер очереди поисковых запросов, ожидающих начала выполнения. В отсутствие ключа данное значение может быть установлено в директиве QueueSize конфигурационного файла.
Запускает сервис как обычное консольное приложение.
Печатает номер версии, после чего завершается.
Устанавливает yandex.exe как сервисное приложение операционной системы Windows, после чего завершается. Только для Windows-версии.
Отменяет установку yandex.exe как сервисного приложения операционной системы Windows, после чего завершается. Только для Windows-версии.
Последним параметром командной строки служит путь к файлу конфигурации сервиса. Если путь к файлу конфигурации отсутствует, используется имя файла конфигурации по умолчанию, равное yandex.cfg. Для операционных систем Windows файл ищется в той же директории, в которой находится yandex.exe, для Unix-систем файл ищется в директории, из которой запущена программа.
Конфигурация Яndex.Server 3.8 Free Edition задается в необязательной секции Server конфигурационного файла сервиса. Изменения в этой секции, а также изменения в числе секций Collection и их атрибутах распознаются только при старте сервиса.
Конфигурации индексатора и поискового сервера задаются в секции Collection конфигурационного файла сервиса. Изменения в этих секциях распознаются при каждом запуске индексирования или запуске поисковой сессии.
Секция Server состоит из директив IPAddress, Port, Host, Threads, QueueSize, WorkDir, ServerLog и подсекции Authorization. Ни одна из директив или секций не является обязательной.
Устанавливает IP-адрес, на котором работает Яндекс-сервер. Значение должно соответствовать одному из допустимых IP-адресов компьютера.
По умолчанию Яндекс-сервер работает на всех IP-адресах компьютера.
Устанавливает порт, на котором работает Яндекс-сервер. Поисковые HTTP-запросы необходимо будет посылать на этот порт.
Значение по умолчанию: 17000
Устанавливает хост, на котором работает Яндекс-сервер.
Значение по умолчанию: официальное имя хоста. Например, если используется локальный файл hosts, это будет первая запись после IP-адреса.
Определяет максимальное количество одновременно выполняемых поисковых запросов. Если уже выполняется определяемое данной директивой количество запросов, выполнение вновь поступивших запросов откладывается до тех пор, пока не будут выполнены текущие запросы.
Значение по умолчанию: 5
Определяет максимальный размер очереди поисковых запросов, ожидающих начала выполнения. В случае нулевого значения директивы максимальный размер очереди запросов бесконечен. Если начала выполнения уже ожидает определяемое данной директивой количество запросов, на вновь поступившие запросы сервер отвечает "HTTP/1.0 503 Service Unavailable" и не выполняет их.
При максимальной загрузке системы уменьшение значения данной директивы приводит, с одной стороны, к сокращению времени выполнения запроса, за счет уменьшения времени ожидания в очереди, но сдругой стороны, ведет к росту числа отказов.
Значение по умолчанию: 0
Рабочая директория Яndex.Server 3.8 Free Edition . Должен быть указан абсолютный путь. Если в других директивах конфигурационного файла заданы относительный пути, они будут приведены к абсолютным относительно этой директории.
Значение по умолчанию: директория, из которой запущена программа (Unix-системы) или директория, в которой находится yandex.exe (Windows)
Путь к файлу,в который будут выводиться сообщения Яндекс.Сервера, абсолютный или относительно WorkDir.
Значение по умолчанию: yandex.log
Подсекция <Authorization> предназначена для задания параметров авторизации административного режима, предназначенного для управления веб-сервером. Авторизация проходит по схеме BASIC. В секцию входят следующие директивы:
Если секция задана, доступ к странице административного режима возможен с любого компьютера сети. При первом обращении к странице административного режима браузер покажет стандартное диалоговое окно авторизации, в котором следует ввести указанные в данной секции имя пользователя и пароль. Если секция отсутствует, доступ к административному режиму будет возможен только с того же компьютера, на котором установлен веб-сервер.
Если секция <Authorization> задана и используется управляющий скрипт yandex.sh, необходимо правильно выставить переменные окружения, связанные с ней :
Должна соответствовать директивам UserName, UserPassword и иметь вид UserName:UserPassword;
Имя либо IP адрес хоста и соответствовать директиве Host либо IPAddress соответственно(по умолчанию localhost)
Должна соответствовать директиве Port конфига (по умодчанию 17000).
Каждой коллекции документов соответствует одна секция Collection, в которой определяются документы, входящие в коллекцию, настраиваются индексатор и поисковый сервер. Директивы и подсекции секции Collection рассмотрены в главах Директивы конфигурационного файла индексатора и Конфигурирование поискового модуля.
Если коллекций документов более одной, каждая секция Collection должна иметь атрибут id, определяющий имя коллекции документов. Это имя мы будем также считать именем индексатора и именем поискового сервера, соответствующих данной коллекции документов. Имя коллекции документов может быть произвольной текстовой строкой, за исключением строки "admin", которая используется в специальных HTTP-запросах, управляющих Яндекс-сервером, строки "images", которая зарезервирована для виртуальной директории с картинками и строки "hl", используемой для подсвеченных документов.
Секция Collection также могут иметь атрибут file, указывающий имя дополнительного файла, в котором, собственно, и определена коллекция документов. При наличии атрибута file тело секции должно быть пустым, в противном случае оно должно содержать директивы, требующиеся для настройки. Дополнительный файл должен содержать корректное определение коллекции, при этом атрибуты коллекции берутся из основного конфига.
Пример 2-3. Примеры описания коллекций
# Секция с безымянной коллекцией документов. <Collection> # директивы секции Collection # ... </Collection>
# Секция с безымянной коллекцией документов. # Все настройки задаются в файле news_collection.cfg. <Collection file="news_collection.cfg"> </Collection>
# Секция с коллекцией документов news. <Collection id="news"> # директивы секции Collection # ... </Collection>
# Секция с коллекцией документов news. # Все настройки задаются в файле news_collection.cfg. <Collection id="news" file="news_collection.cfg"> </Collection>
# news_collection.cfg. <Collection> # директивы секции Collection # ... </Collection>
Для каждой коллекции документов соответствующие индексатор и поисковый сервер могут быть независимо друг от друга запущены или остановлены.
Перед первым стартом поискового сервера необходимо запустить индексатор и дождаться, пока он завершит построение индексных файлов. Повторный запуск индексатора требуется для обновления индексных файлов, если коллекция документов со временем изменяется за счет добавления, изменения или удаления документов.
После создания индексных файлов индексатор самостоятельно прекращает работу. В процессе своей работы индексатор также может быть остановлен внешней командой. В этом случае полного обновления индексных файлов не происходит.
В отличие от индексатора, поисковый сервер после запуска находится в постоянном ожидании запросов на поиск. Для успешного старта поисковому серверу необходимы индексные файлы, созданные индексатором.
По умолчанию, после старта Яndex.Server 3.8 Free Edition индексатор находится в остановленном состоянии, а поисковый сервер, при наличии индексных файлов, автоматически стартует. Чтобы поисковый сервер не стартовал в момент запуска Яndex.Server 3.8 Free Edition , секция Collection должна иметь атрибут autostart со значением no.
Если при старте Яndex.Server 3.8 Free Edition поисковый сервер для какой-либо коллекции документов не стартовал (например, по причине отсутствия индексных файлов), веб-сервер продолжает работать. На поисковые запросы по этой коллекции сервер отвечает, что поиск остановлен. Однако, если атрибут autostart секции Collection имеет значение must, Яндекс-сервер автоматически завершит работу. Эта настройка может оказаться важной для инструментов автоматического мониторинга работоспособности поиска.
Для запуска и остановки индексатора или поискового сервера служит специальная административная страница Яndex.Server 3.8 Free Edition , имеющая адрес /admin. С помощью расположенных на этой странице кнопок можно выполнить требуемые действия. Использование указанных кнопок эквивалентно следующим HTTP-запросам к Яндекс-серверу (если задано более одного HTTP-запроса, можно использовать любой из них):
Действие | HTTP-запрос |
---|---|
Начать индексирование | /admin?id=value&action=bi
/admin?id=value&action=startindexer |
Остановить индексирование | /admin?id=value&action=ei
/admin?id=value&action=stopindexer |
Начать поиск | /admin?id=value&action=bs
/admin?id=value&action=startsearch |
Остановить поиск | /admin?id=value&action=es
/admin?id=value&action=stopsearch |
Перезапустить поиск | /admin?id=value&action=restartsearch |
Очистить кеш поисковых запросов | /admin?id=value&action=clearcache |
Остановить Яндекс-сервер | /admin?action=shutdown |
В указанных запросах значение value служит для обозначения названия коллекции документов, совпадающего со значением атрибута id соответствующей секции Collection конфигурационного файла сервиса. Если имеется только одна коллекция документов с пустым именем, параметр id в административном запросе можно опустить.
В ответ на указанные запросы Яндекс-сервер возвращает административную страницу с новым состоянием кнопок, полученным после выполнения запрошенной команды. Если запросы выполняются из внешнего планировщика задач, удобно запретить формирование ответной HTML-страницы. Для этого нужно к запросу добавить параметр brief со значением yes. Чтобы узнать статус индексатора и поискового сервера, задайте один из следующих HTTP-запросов:
Действие | HTTP-запрос |
---|---|
Запретить формирование ответной HTML-страницы | /admin?brief=yes&action=_действие_из_предыдущей_таблицы_ |
Запросить статус всех коллекций Яndex.Server 3.8 Free Edition | /admin?action=statusall |
Запросить статус определенной коллекции Яndex.Server 3.8 Free Edition | /admin?id=value&action=status |