см. также:
поиск на FTP серверах »
поиск в локальной сети »
поиск на веб-сайтах с помощью Интегры »
Необходимо заметить, что возможность использования сетевого паука в движке определяется конфигурацией, в которой поисковый движок был скомпилирован.
Принцип работы паука стандартен. Получив для затравки адрес веб-ресурса (см. команду -url), поисковик загружает веб-страницу и сканирует ее в поисках других гиперссылок (если это разрешено - см. команду -href). Обнаруживаемые гиперссылки фильтруются (команды -urimask и -urinotmask) и проверяется, что они еще не были посещены в этом сеансе поиска. Скачанная веб-страница направляется для обработки поисковым движком для поиска паттерна или индексирования. Затем поисковик приступает к загрузке веб-ресурсов по найденным и отобранным гиперссылкам, контролируя трафик (-maxtraffix) и глубину погружения по гиперссылкам (-maxdepth).
В примере используется веб-сервер (это Апач), поднятый на локальной машине (127.0.0.1), слушающий порт 8080. Команда для поиска информации среди веб-страничек с обходом гиперссылок имеет такой вид:
faind -url "http://127.0.0.1:8080" -index off -href=true -wordforms -sample "движок"
В этом примере команда -href=true разрешает поисковику следовать по гиперссылкам.
Результат работы (начало сканирования) для консольной поисковой утилиты φaind показан на скриншоте:

Чтобы отсеивать гиперссылки на обрабатываемых страницах, используйте команды -urimask и -urinotmask.
Следует отличать эффект от команд фильтрации документов (-iname или -inotname) и фильтрации гиперссылок. Фильтры гиперссылок ограничивают действия сетевого паука, запрещая ему посещать определенные веб-ресурсы, или разрешая посещать только определенные страницы. С помощью этих фильтров можно запретить поисковой машине посещать баннерные ссылки:
-urinotmask "(.+)banner(.+)" -urinotmask "(.+)advert(.+)"
В данном случае фильтр запрещает работать с гиперссылками, содержащими подстроку banner или advert.
Особое внимание обращайте на правильное указание кодировок для обрабатываемых сайтов. Как это ни печально, очень большое число сайтов (не только в рунете, но в других национальных зонах) сверстано небрежно. Даже крупные порталы зачастую пренебрегают указанием кодировки, к примеру Yandex не указывает кодировку на своих веб-страницах (хотя и передает ее в HTTP-заголовке ответа), в то время как Google - аккуратно ставит utf8.
Автоопределение кодировки срабатывает не всегда, так как codepage guesser пытается подобрать кодировку по нескольким первым словам документа, и если веб-страница имеет в начале большой скрипт с преимущественно английскими словами, корректность определения кодировки сомнительна.
Содержимое веб-сервера, доступное по протоколу HTTP, может быть проиндексировано обычным порядком для ускорения последующих поисков информации. Обратите внимание на то, что индексная база по сайту сохраняется на локальной (клиентской) машине..
Рассмотрим опять-таки пример с веб-сервером в локальной сети. Среди содержимого сайта мы не будем скачивать и индексировать архивы и установочные файлы, то есть имеющие расширения *.zip, *.exe, *.tgz, *.bz.
Во-первыхх, создаем индексную базу
faind -index create_domain=локальные_серверы
Далее, выполняем собственно индексирование:
faind -index domain=локальные_серверы -href=true -maxdepth=100 -store_download=false -url http://10.110.45.17:8080 -notname "*.zip;*.exe;*.tgz;*.bz"
По завершении формирования индексной базы можно выполнять поиск на сервере даже не имея фактического доступа в сеть:
fand -index domain=локальные_серверы -sample "поисковый движок" -tune htmlres_2 -listfiles:html res.html
Обратите внимание, что данный запрос не приводит к подключению к веб-серверу, так как требуется только вернуть список имен подходящих документовв. Результат может быть таким:

Небольшая модификация запроса, а именно употребление команды -index touchfiles, позволяет получить на странице результатов также контексты в документах, но при этом поисковая машина будет подключаться к соответствующему веб-серверу
fand -index domain=локальные_серверы -distance=s -sample "поисковый движок" -index touchfiles -tune htmlres_2 -listfiles:html res.html
Результат поиска будет примерно такимм:

Процедурный API поисковой системы
Синтаксис определения области поиска
Скачать SDK поисковой системы с примерами и другие компоненты можно здесь 
© Mental Computing 2010
|
|
изменено 01-Jun-10 |