5.4. Поддержка SearchD

searchd предназначен для ускорения поиска, особенно при использовании ispell-данных, синонимов и стоп-слов.

5.4.1. Для чего использовать searchd

  • Для быстрого поиска, особенно если используется нечёткий поиск на основе ispell или синонимов, а также сегментеры для азиатских языков. Необходимые файлы загружаются в память однажды при запуске searchd, в то время как search.cgi без использования searchd загружает эти данные для каждого запроса.

    Таже searchd может загружать предварительно в память некоторые данные об URL (по 20 байт на каждую проиндекированую страницу) и лимиты cache mode (4 или 8 байт на каждый URL в зависимости от типа лимита).

  • Для возможности разнесения поискового и веб-серверов на разные машины.

5.4.2. Запуск searchd

Для запуска searchd проделайте следующее:

  • Скопируйте $PREFIX/etc/searchd.conf-dist в searchd.conf.

  • Отредактируйте searchd.conf.

  • Если вы ходите для ускорения поиска загрузить в память и информацию об url (примерно по 20 байт на url), Добавьте в searchd.conf следующую команду:

    
PreloadURLData yes
    

  • Вы также можете загрузить в память индексы для наиболее часто исползуемых значений лимитов режима хранения cache используя команду PreloadLimit в файде searchd.conf:

    
PreloadLimit <limit type> <limit value>
    

    Например:

    
PreloadLimit tag Unix
    

  • Добавьте следующую команду в search.htm:

    DBAddr searchd://hostname/ или DBAddr searchd://hostname:port/, например:

    
DBAddr searchd://localhost/
    

    Значение по умолчанию для port равно 7003

  • Вы можете запустить несколько чилдов searchd, отвечающих на поисковые заапросы параллельно. Используете команду MaxClients для задания этого числа. Значение по умолчанию: 1.

    
MaxClients 2
    
  • Запустите searchd:

    /usr/local/dpsearch/sbin/searchd &

Чтобы обойтись без вывода на stderr, используйте ключ -l. Вывод сообщений в этом слуае будет происходить только через syslog (если поддержка syslog не была выключена при инсталяции при помощи ключа --disable-syslog). В случае, если поддержка syslog выключена, можно перенаправить stderr в файл:

/usr/local/dpsearch/sbin/searchd 2>/var/log/searchd.log &

Для searchd, так же как и для indexer можно указывать имя файла конфигурации в качестве параметра, например, относительно поддиректории /etc корневой директории установки DataparkSearch:


searchd searchd1.conf

или указав абсолютный путь:

searchd /usr/local/dpsearch/etc/searchd1.conf


Geo Visitors Map who's online