Область поиска в поисковом движке

    Введение

    Каталоги

    Архивы

    Списки файлов

    Маски файлов

    Условие на размер файла

    Условие на дату изменения файла

    Категории файлов

    URL (HTTP и FTP серверы)

    Именованные каналы и сокеты

    Метаопции - 'мои документы', 'мой компьютер', 'сетевое окружение'

    Именованные зоны поиска

    Дополнительная обработка файлов перед использованием

    Внешние поисковые движки

    Прочие команды

Введение

Поисковый движок прежде всего ориентирован на поиск текста (паттернов) в файлах и их именах, хотя API позволяет искать также в задаваемых строках (подробнее см. API поискового движка и API расширенных регулярных выражений). На уровне поисковых утилит объектами, в которых происходит поиск текста, являются отдельные файлы разных форматов, находящиеся в локальной файловой системе, включая архивы, или удаленно, на хостах локальной сети или веб-серверах. Таким образом, поиск производится в пределах:

 1. локальной файловой системы и подключенных сетевых дисков (с обходом подкаталогов);

 2. локальной сети Windows (на ресурсах, доступных с учетом авторизации);

 3. интернет-сайтов (и доступных из них по гиперссылкам - сетевой паук) и FTP-серверов;

 4. файлов в архивах (большинство форматов обрабатываются без внешних утилит, плюс плагины), эта возможность отключаема;

 5. файлов, получаемых через именованные каналы и сокеты.

Несколько особняком стоит возможность импортировать данные поиска от внешних поисковиков с помощью команды -engine и соответствующих плагинов.

Задание области поиска (или зоны поиска) складывается из каталогов, которых находятся файлы (в этом случае происходит сканирование содержимого этих каталогов, обычно - рекурсивно с подкаталогами), отдельных заданных файлов, URLов серверов. Автоматически происходит сканирование архивов, которые встречаются в ходе обработки каталогов, если конечно обработка архивов не запрещена явно в командной строке или ini-файле.

Можно также фильтровать файлы в каталогах с помощью масок для имен файлов. Маска - это выражение типа *.txt (так называемые wildcards) или регулярное выражение (синтаксис описан здесь).

Для интернет-сайтов задается URL (и маска URL'а для фильтрации просматриваемых сайтов).

Архивы распаковываются "на лету", без записи во временные файлы. Внешние архиваторы обычно не требуются - благодаря иcпользованию open source библиотек сторонних разработчиков соответствующие возможности встроены в сам поисковый движок. Для некоторых типов архивов используются плагины, с помощью которых возможно расширять функциональность движка без модификации его кода.

Начиная с версии 0.80 поисковый движок может искать на сменных носителях - прежде всего CD/DVD (без физического наличия носителя в приводе). Эти функции доступны через механизм именованных индексов в каталогизаторе.

Надо отметить, что благодаря внутренней поддержке формата представления символов UNICODE поисковый движок в большинстве случаев корректно обрабатывает кириллицу в именах файлов (как и другие национальные символы) вне зависимости от локализации ОС (справедливо для WinNT/2k/XP).

Поисковая система Интегра позволяет конструировать область поиска более наглядным способом - в оконном интерфейсе с помощью мышки, а также сохранять созданные области поиска для последующего поиска.

Файлы

Файлы, в которых надо произвести поиск, можно указать явно с помощью опции -file:

-file e:\docs\1.txt

Если необходимо обработать несколько файлов, то вместо отдельных команд -file для каждого файла лучше задать список имен файлов в виде

-file "aaa;bbb;ccc"

То есть отдельные имена перечислены через точку с запятой и заключены в двойные кавычки. Двойные же кавычки используются при указании имени файла с пробелами, дабы воспрепятствовать неправильному разбору командной строки.

Список имен файлов для обработки можно записать в текстовый файл и указать этот файл в качестве источника для команды -file с помощью символа @:

-file @list

где list - имя файла со списком. Файл должен иметь формат plain text, имена файлов опять-таки разделяются символом ';' либо переводами строки. Мы рекомендуем использовать кодировку utf-8 для файлов со списками, в противном случае неизбежны непонятности с неправильной загрузкой кириллицы или других национальных символов в именах файлов.

Каталоги

Каталог, в котором паук поискового движка находит интересующие файлы, задается как первый аргумент в командной строке:

faind c:\ ...

По умолчанию вложенные подкаталоги включаются поисковым движком в процесс сканирования (умолчание можно изменить - см. здесь). Чтобы управлять этой возможностью, используются опции:

-recurse=on - подкаталоги сканируются

-recurse=off - подкаталоги НЕ сканируются

-r - эквивалентно -recurse=on

Чтобы задать для просмотра несколько каталогов, используется опция

-dir "каталог1;каталог2;..."

Имена каталогов разделяются символом ";". Кавычки применяются также для обрамления имени каталога(ов) с пробелами.

Список каталогов можно записать в простой текстовый файл (тогда имена каталогов могут разделятся также переводом строки), и затем использовать этот список, сославшись на файл списка:

-dir @list_file

Файл со списком должен быть простой текстовый, предпочтительно utf-8, чтобы исключить возможность некорректного преобразования национальных символов в путях.

Для указания на имеющиеся CD/DVD приводы можно использовать команду -cdrom. Эта команда фактически добавляет в список для просмотра все приводы, в том числе виртуальные, созданные программами типа Alcohol 120%.

 

Архивы

Поисковый движок без привлечения внешних утилит поддерживает архивы форматов ARJ, GZIP, TAR, BZIP, RAR, BZIP2, 7ZIP, некоторые другие (см. полный список форматов). Актуальный список обрабатываемых форматов для текущей версии можно получить командой:

faind -help=5

Утилита в том случае, если встречается файл с архивом поддерживаемого формата, приступает к просмотру файлов в этом каталоге. Таким образом, архив представляется как виртуальный каталог. Архив распаковывается в оперативную память и анализируется без сохранения файлов на диске.

-unpack=on - сканировать содержимое архивов. Для отключения используется -unpack=off. Значение этой опции по умолчанию определяется в ini-файле.

Все, относящееся к распаковке архивов, справедливо и для сканировании интернет-сайтов. Другими словами, если при сканировании сайта встречается архив, то он будет скачан и файлы в нем просмотрены.

Поддержка распаковки архивов в поисковом движке значительно увеличивает размер кода. Поэтому для ряда задач, связанных с использованием поискового движка FAIND в виде части других проектов (см. об API поискового движка), можно исключать из кода поддержку распаковки архивов.

Поддержка для некоторых форматов архивов выведена из движка в плагины.

 

Списки файлов

Если первый аргумент командной строки является именем файла, то будет обработан именно этот файл.

Таким образом, команда:

faind CAT.RAR -sample "собака"

заставит поисковый движок обработать единственный файл CAT.RAR - архив.

Можно также указать список имен файлов для обработки. Списки файлов могут быть двух видов - простые TXT и структурированные XML.

Простые списки в формате TXT представляют собой просто перечисление имен файлов, разделяемые переводом строки или символом ';'. Список такого формата легко создается командой Windows:

dir /b *.txt > list

или для Linux

ls *.txt > list

Опция -file позволяет использовать такие списки. Она может быть двух видов.

-file "filename1;filename2;..."

Эта опция прямо указывает список файлов, подлежащих обработке.

-file @list

Таким способом указывается на файл со списком файлов..

Опция -flist позволяет просмотреть файлы из XML-списка документов. Сам список готовится утилитой FAIND (см. опцию -listfiles). Таким образом, можно выполнять постепенное сужение области поиска: сначала командой типа

-faind c:\ -name *.txt -listfiles my_files ...

формируется большой список файлов. Формат файла my_files - стандартный для движка XML. Затем командой типа:

faind -flist my_files ...

сканирование производится уже для отобранных на первом этапе файлов. Примеры многоступенчатого поиска можно посмотреть здесь.

Внешние программы также могут подготовить список файлов для FAIND - формат XML файла достаточно прост.

 

Маски файлов

С помощью масок файлов можно отобрать только те файлы, которые представляют интерес - обычно имеющие какое-либо расширение (типа txt или doc), либо НЕ соответствующие маске(ам).

-name xxxx - обычная маска файла с так называемыми wildcards, то есть с метасимволами * и ?. Как обычно, звездочка соответствует любой цепочке символов (в том числе пустой), а ? - любому одиночному символу.

-name:rx xxx - регулярное выражение (или список выражений, разделенный символами точка с запятой - ;).

-iname -xxx - отличается от -name тем, то регистр букв не имеет значения.

-notname[:rx] и -notiname:[rx] - опции задания масок отвергания, то есть они запрещают использовать файлы, имена которых совпадают с масками.

Пример:

faind c:\ -name *.txt

faind \home -iname "*.txt;*.htm*"

faind e:\docs -name:rx "про_кош(\w*).(.*)" -notname:rx "

faind -dir \\Server1\ -notname "*.dmp"

Следует заметить, что для MS Windows большие и малые буквы в именах файлов не играют роли, а GNU/Linux учитывает регистр в именах файлов.

Список масок можно поместить в текстовый файл с удобным именем и ссылаться на него в опциях -name и -iname таким образом:

faind c:\ -name @text_files

Подготовив набор таких файлов с масками, можно упростить использование поисковых утилит.

Применять регулярные выражения следует в том случае, если Вы хорошо понимаете их синтаксис. К примеру, чтобы учитывать при поиске только текстовые файлы, чьи имена начинаются с буквы 'a', следует задавать такую опцию:

-iname:rx "(.+)\\a(.+)\.txt"

Начало регулярного выражения в данном примере (.+)\\ используется для пропуска полного пути к файлу, так как имя файла поступает в фильтр в виде абсолютного пути, то есть фильтры файлов работают также и как фильтры каталогов.

 

Условие на размер файла

Опция -size позволяет отбирать для поиска только файлы, размер которых удовлетворяет определенным условиям.

Общий синтаксис:

-size "CCCSSS"

где CCC - арифметическое условие. Возможны следующие условия:

>

больше чем SSS

+ или >=

больше или равно SSS

- или <

меньше чем SSS

<=

меньше или равно SSS

= или ==, либо операция не указана

равно SSS

!=

не равно SSS

SSS - размер. Может задаваться как:


Такая интерпретация записи масштабного множителя почти полностью совместима со стандартной утилитой GNU find, за исключением задания размера в байтах без суффикса - в UNIX отсутствие суффикса означает размер в блоках по 512 байт.

Примеры:

-size "<=100K"    поиск в файлах, чей размер меньше или равен 100 Кб

-size "+1M"      поиск в файлах, чей размер больше 1 Мб

-size "!=10000c"   поиск в файлах, чей размер не равен 10000 байт, обратите внимание на суффикс 'c' 

Мы рекомендуем заключать аргумент опции -size в апострофы, так как символы < и > имеют в командной строке MS Windows особое значение (перенаправление ввода и вывода), из-за чего возможно появление непонятных сообщений об ошибке (некий файл не найден).

Так как поисковый движок допускает задание нескольких опций-фильтров одного типа, то можно задавать фильтр для отбора файлов, чей размер попадает в определенный диапазон:

-size ">1K" -size "<100K"  поиск в файлах, чей размер попадает в диапазон от 1 до 100 Кб

Команда -empty отбирает файлы нулевого размера (введена для совместимости с утилитой GNU find).

 Условие на дату изменения файла

С помощью опции -modif можно отбирать для просмотра файлы, дата и время модификации которых соответствует заданному условию.

Синтаксис:

-modif "CCCдата время" "формат_даты формат_времени"

-modif "CCCдата" "формат даты"

CCC - это условие. Возможные варианты:

+ или >

больше чем

>=

больше или равно

- или <

меньше чем

<=

меньше или равно

= или ==

равно

!=

не равно

Для описания формата даты и времени используются символы:

DD - день

MM - порядковый номер месяца или минуты для формата времени

YYYY - год

MMM - трехбуквенное имя месяца (JAN-FEB-...DEC)

HH - час

SS - секунды

Примеры:

-modif ">=12-01-2003" "dd-mm-yyyy"

-modif "==12.01.2003 15:00:00" "dd.mm.yyyy hh:mm:ss"

 Возможен альтернативный формат команды:

-modif 0 - фильтр файлов, измененных сегодня

-modif 1 - измененных вчера, и так далее.

Категории файлов

По умолчанию поисковый движок обрабатывает только текстовые файлы (разных форматов). В частности, в индексной базе сохраняются только имена текстовых файлов, что может быть неудобным при каталогизации содержимого компакт-дисков.

Для обработки всех файлов (даже если их текстовое содержимое не может быть извлечено) используется команда:

-store_all_files=true

Эта команда позволяет запомнить в индексной базе имена всех файлов в области поиска, или просматривать все файлы при поиске. Чтобы извлечь текстовую информацию из отдельных категорий нетекстовых документов, используются команды:

-allow_audio=true - извлекать тэги из аудио-файлов (к примеру, mp3)

-allowraw=true - пытаться извлекать текстовую информацию из файлов неизвестного формата. Встроенный в поисковую машину эвристический алгоритм будет пытаться выделить текстовые фрагменты из любых двоичных файлов, причем с подбором кодировок (например, ascii или utf-16). Чтобы данная команда работала, поисковая машина должна получить список расширений файлов, для которых применять алгоритм:

-raw_ext "aaa;bbb;ccc" - в данном случае допустимые расширения файлов перечислены через точку с запятой.

-allow_gfx=true

-allow_video=true

-allow_exec=true

 

Команда

-force_txt

заставляет движок обрабатывать файлы в области поиска как имеющие формат plain text, независимо от их действительного формата. Вместе с командой -store_all_files=true она позволяет обрабатывать текстовые файлы, имеющие всевозможные расширения. По умолчанию движок считает текстовыми только файлы, расширения которых внесены в специальную внутреннюю таблицу. Вместе с данной командой могут быть полезными команды задания кодировки текста -cp и -prefer_cp.

URL (HTTP и FTP серверы)

WWW-серверы (протокол HTTP)

Для сканирования какого-либо сайта (обычно - доступного через интерфейс HTTP сервер) необходимо задать URL начальной страницы с помощью опции:

-uri address

 К примеру:

-uri http://www.somedomain.ru

или

-uri http://127.0.0.1:8080/default.shtml

Если доступ в Интернет осуществляется с помощью Proxy-сервера, то указание его параметров (IP и номер порта) выполняется в ini-файле (переменная proxy в секции internet):

[internet]
proxy = "http://172.168.1.222:3129"

Если на сканируемой веб-странице есть гиперссылки, то можно заставить утилиту просмотреть также указываемые документы (именно так работают сетевые пауки - типа DataParkSearch'а). Эта возможность должна быть указана явно опцией

-href=true

Заметим, что просмотр гиперссылок может привести в неожиданному эффекту - начнется неуправляемый просмотр очень большого числа сайтов. Есть три возможности ограничить число просматриваемых сайтов по гиперссылкам.

Во-первых, можно запретить выход за пределы исходного домена, заданного в опции -uri:

-same_domain=true

Благодаря этому будут приняты во внимание только гиперссылки, ведущие на страницы только в исходном сайте (в пределах стартового домена).

Во-вторых, можно ограничить глубину просмотра гиперссылок, то есть число последовательных прыжков по гиперссылкам:

-maxdepth=NN

Допустим, указано -maxdepth=2. Поиск начат с -uri=http://www.solarix.ru. Сканер начнет обработку стартовой страницы сайта (это файл index.shtml, он возвращается веб-сервером по умолчанию). Встретив на этой странице ссылку, допустим, на www.solarix.ru/for_users/download_them/faind/faind.shtml, сканер загрузит эту страницу. Выполнен первый прыжок по гиперссылке. На этой странице также есть гиперссылки. Встретив одну из них, сканер уйдет на указанную страницу, но на этой странице уже не будет просматривать гиперссылки, так как совершен второй последовательный прыжок. Если указать -maxdepth=0, то глубина вложенности не учитывается.

В-третьих, можно задать маску для гиперссылок:

-urimask "(.+)\.ru"

Маска - это регулярное выражение, синтаксис которых подробно описан здесь. Каждая отыскиваемая гиперссылка проверяется на соответствие маскам (их может быть несколько, перечисленных через точку с запятой ;), и в случае успеха гиперссылка используется.

Все описанные возможности по ограничению области просмотра могут применяться вместе в любом сочетании. Дополнительные возможности таковы.

Список масок можно записать в текстовый файл и сослаться на него:

-urimask @urls_masks

Список начальных адресов также можно записать в текстовый файл и указать его имя:

-uri @urls

Для фильтрации гиперссылок можно также использовать не-маски:

-urinotmask "(.+)banner(.+)"

С их помощью можно предотвращать уход паука с сайта по рекламным ссылкам.

С помощью команды

-maxtraffic=XXX

можно задать ограничение на использованный при поиске трафик. Числовое значение может задаваться в байтах, килобайтах (с суффиксом K), или мегабайтах (суффикс M). Например:

-maxtraffic=500K

Скачанные из интернета документы иногда разумно сохранить на локальной машине, чтобы в случае успеха поиска в них не загружать их из интернета второй раз (например, для просмотра содержимого). Явно задать режим сохранения можно опцией:

-store_download=true

По умолчанию значение этого параметра находится в ini-файле.

Папка, в которой сохраняются документы, задается в ini-файле - это параметр download_dir в секции internet.

Следует отметить, что между URL скачанных документов и именами файлов, в которых они сохраняются, нет простого соответствия. Есть два пути разрешения задачи.

Во-первых, для каждого сохраненного файла есть пара - файл с тем же именем и добавленным расширением .uri. Это текстовый файл (кодировка utf-16), в нем хранится описание источника загруженного файла.

Во-вторых, чтобы определить, в каком файле сохранен URL, необходимо обратиться к результатам поиска. В XML-файле (см. опцию -listfiles) для каждого документа, в котором был удовлетворен запрос, сохраняется подробная информация, в том числе имя файла, в который он был записан. Более подробно о формате файла результатов можно посмотреть здесь.

FTP-серверы

Работа с FTP-серверами проще в том смысле, что нет необходимости обрабатывать гиперссылки на скачанных с сервера документах, поэтому во многих случаях достаточно указать адрес сервера:

-url "ftp://ftp.microsoft.com"

В этом случае поисковая машина выполнит подключение к стандартному порту 21 пользователем anonymous. Чтобы указать номер нестандартного порта и/или задать авторизацию, используется следующий формат (это стандартная возможность FTP):

-url "ftp://user:password@127.0.0.1:2121"

То есть номер порта указывается после двоеточия ":", а имя пользователя и пароль задаются до символа "@".

Примеры работы с HTTP серверами

Примеры работы с FTP серверами

 

Именованные каналы и сокеты

 

описание пока отсутствует

 

Метаопции - 'мои документы', 'мой компьютер', 'сетевое окружение'

Эти опции позволяют выполнить поиск в стандартной папке для документов текущего пользователя, на всех дисках компьютера и в доступных по локальной сети ресурсах (на других компьютерах). Они называются метаопциями, так как поисковый движок перед началом сканирования области поиска преобразует их в абсолютные пути к соответствующим каталогам. Надо отметить, что поиск в сетевом окружении может потребовать достаточно много времени на подготовку, так как необходимое в этом случае построение списка доступных сетевых ресурсов часто "подвешивает" MS Windows.

Выполнить поиск среди документов в папке 'Мои документы' (для GNU/Linux это домашний каталог пользователя):

-mydocs

Выполнить поиск среди файлов на всех дисках компьютера (для GNU/Linux поиск будет начат с корневой директории /):

-mycomp

Обратите внимание на вопрос прав доступа к файлам. Если во время сканирования каталогов поисковый движок сталкивается с ошибкой доступа к файлу (это характерно прежде всего для системных каталогов), он просто напечатает диагностическое сообщение (для консольных версий поисковых утилит) и продолжит сканирование.

Выполнить поиск среди ресурсов (других компьютеров), доступных по локальной сети MS Windows:

-lan

См. пример поиск в локальной сети. Обычно данная команда вызывает достаточно ощутимое "подвисание" перед началом поиска, по причине некоторых особенностей используемого механизма API Windows. Так как движок нормально воспринимает в качестве каталогов пути к удаленным ресурсам типа \\Компьютер-001\D, то в некоторых случаях удобнее задавать соответствующие пути через команду -dir.

Индексы

Именованные зоны (индексы) - это заранее проиндексированные множества файлов (например, на CD или подкаталоги на жестком диске), для поиска в которых не нужно специфицировать заново саму область поиска, а достаточно указать имя индекса:

-index domain="CD фантастика" -sample "Станислав Лем"

Более подробно работа с индексами описана в разделе Индексатор.

Поисковый движок не допускает смешивания поиска по индексу и по другим источникам документов.

Внешние поисковые движки

Полная версия движка (Pro) включает в себя поддержку механизма агрегации результатов поиска с других движков, построенных на произвольно разных технологиях и с различными API, включая поисковые машины интернета и локальные поисковики. Для каждого поддерживаемого внешнего движка написан свой плагин, реализующий минималистичный API для выполнения инициализации, поиска и получения списка результатов.

С точки зрения поискового движка, внешние движки являются всего лишь одним из видов источников документов, наряду с папками и файлами локальной файловой системы и веб-серверами.

Команда

-engine "имя_поисковика"

позволяет сделать запрос к плагину внешнего поискового движка. Имя поисковика, указываемое как аргумент команды, это возвращаемая самим плагином идентифицирующая его текстовая строка. К примеру:

-engine "gds"

позволяет обратиться для поиска к настольной поисковой системе Google Desktop Search. Поисковый движок сам сформирует запрос в нужном формате и приведет результаты к своим спецификациям. Чтобы увидеть список зарегистрированных плагинов, используйте команду -help.

Команда имеет также расширенный формат:

-engine "имя_движка?параметр=значение&параметр=значение..."

Другими словами, после имени движка задается список специальных параметров. В некоторых случаях эти параметры имеют принципиальное значение. Например, для доступа к поисковому серверу FAIND на удаленной машине необходимо как-то задать сетевой адрес соответствующего хоста и адрес порта, на котором работает удаленный листенер

-engine "faind?address=192.168.13.230:1066"

Параметр address задает адрес и номер порта. Дополнительно можно указатать параметр noproxy - запрет на использование прокси-сервера, или параметр proxy=ip:port для задания параметров прокси-сервера. Например:

-engine "faind?address=192.168.13.230:1066&noproxy"

Запуск поискового сервера FAIND можно выполнить специальной опцией в командой строке.

Каждый движок опрашивается независимо, поэтому в одном запросе можно перечислить произвольное количество разных движков.

Настольная поисковая система Integra также позволяет использовать плагины внешних движков - к примеру, в сценариях создания индексов "Метаинтернет" и "FTP поиск". Кроме того, сценарий для создания индекса "Мой компьютер" позволяет явно задать использование одного из локальных поисковых движков вместо встроенного (см. подробности). 

Дополнительная обработка файлов перед использованием

В некоторых случаях требуется учитывать при поиске и индексировании не все содержимое документа, а некоторую его часть. Например, нужно работать с куском текста, заключенным в некоторые специальные слова-ограничители. Поисковый движок содержит механизм для преобразования текста перед его подачей на вход алгоритма pattern matching'а или индексатора, в том числе для выделения фрагментов.

Команда

-preprocess fragment " between 'от' 'до' "

выделяет из текста фрагмент, ограниченный регулярными выражениями 'от' и 'до'. Вместо критерия 'от' можно оставить пустую строку в одиночных апострофах или код @bof, тогда фрагмент будет начинаться с первого символа текста. Аналогично, вместо критерия 'до' можно указать пустую строку в апострофах или код @eof, тогда выделенный фрагмент будет заканчиваться последним символом исходного текста. Также можно использовать код @eol, тогда выделенный фрагмент будет закончен концом строки, в которой был критерий 'от'. Конечно, код @eol работает только для plain text файлов.

Обратите внимание, что все аргументы препроцессинга после токена fragment заключены в двойные апострофы.

Команда

-preprocess fragment " in 'регэксп' "

позволяет выделить текст, который сопоставлен регулярному выражению.

Применение команды -preprocess fragment можно продемонстрировать следующим примером. Допустим, есть файл с текстом:

ближайшая спиральная галактика M31.
BEGIN карликовая галактика END
FROM галактика с полярным кольцом TO

Команда

faind -file имя_файла -sample "галактика"

сопоставит ключевое слово "галактика" в первой строке файла, команда

faind -file имя_файла -preprocess fragment "between 'BEGIN' 'END'" -sample "галактика"

во второй строке, а команда

faind -file имя_файла -preprocess fragment "in 'FROM(.+)TO'" -sample "галактика"

- в третьей строке.

 Более сложная обработка текста документов возможна с помощью плагинов-лексеров, которые также включаются команой -preprocess.

Подсистема распознавания

Команда

-ocr run

разрешает использовать подсистему OCR для извлечения текста из некоторых графических документов. Требуется, чтобы модуль распознавания был доступен. Вы можете скачатьи установить соответствующий addon со страницы загрузки.

Прочие команды

Для сохранения в индексной базе только имен файлов и структуры каталогов в индексируемых папках или веб-серверах, можно воспользоваться командой

-ignore_contents

Движок не будет анализировать (другими словами - загружать) содержимое файлов. Это может быть полезным, если полноценная индексация области поиска слишком затратна, например для группы FTP серверов с медленным каналом. Обычно вместе с этой командой используются также команды -store_all_files и -unpack=false.

В качестве примера можно привести запоминание в индексе имен файлов на всех дисках компьютера:

faind -index create_domain comp
faind -index domain=comp -unpack=false -store_all_files=true -ignore_contents -mycomp

В данном случае первая команда создает индекс с именем comp (см. -index create_domain), вторая команда сканирует все диски компьютера (см. -mycomp) без распаковки архивов (-unpack=false) и запоминает имена файлов в индексе. Поиск по заполненному таким образом индексу подразумевает поиск в именах файлов:

faind -index domain=comp -target_filename=true -sample "solarix"

Команда -target_filename=true заставляет движок искать паттерн запроса (аргумент команды -sample) в именах файлов.

Дополнительные материалы

Процедурный API поисковой системы

Синтаксис поисковых запросов

Синтаксис определения области поиска

Где скачать поисковую систему и SDK

Скачать SDK поисковой системы с примерами и другие компоненты можно здесь поисковая система

  © Mental Computing 2010
изменено 02-Feb-11