v10.31 (build: Sep 25 2024)

Поиск в файлах

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

Внимание: убедитесь, что для пользователя БД разрешен доступ к функциям "Поиск в файлах" в БОСС-Оффлайн/БОСС-Онлайн на странице настроек прав!

Настройки
Процесс индексирования может занимать длительное время, а сам индекс значительное место на системном диске клиентских машин. Существует множество тонких настроек для различных потребностей в данном функционале:

providers.searchEngine.idlePeriod - время в мсек после которого сканер переходит в активную фазу сканирования после последней активности пользователя

providers.searchEngine.rescanPeriod - время в мсек повторного цикла сканирования после завершения предыдущего

providers.searchEngine.scanRateIdle - интенсивность сканирования в состоянии неактивности пользователя (активная фаза) от 0.01 до 1.00

providers.searchEngine.scanRateUsed - интенсивность сканирования в состоянии активности пользователя (пассивная фаза) от 0.01 до 1.00

providers.searchEngine.scanRateForced - не используется в текущей версии

providers.searchEngine.scanRateFrozen - не используется в текущей версии

providers.searchEngine.maxFieldLength - макс. кол-во слов в документе для анализа

providers.searchEngine.maxDocCharsToAnalyze - макс. размер документа извлекаемого из индекса, используется для поиска лучшего фрагмента или при непосредственном запросе всего документа

providers.searchEngine.maxSizeFile - макс. размер анализируемого файла в байтах

providers.searchEngine.maxSizeNest - макс. размер анализируемого архива в байтах

providers.searchEngine.maxDepthDir - макс. глубина вложенности директорий/папок при сканировании

providers.searchEngine.maxDepthNest - макс. глубина вложенности архивов друг в друга

providers.searchEngine.maxSizeIndex - макс. размер индекса в байтах

providers.searchEngine.minIndexFreeSpace - мин. размер в байтах свободного места на системном диске, при котором возможно сканирование и формирование индекса

providers.searchEngine.indexedFileLivetime - время жизни (в мсек) проиндексированного файла в БД для случая когда оригинальный файл был удален.
Внимание! Этот параметр не должен быть менее времени полного цикла сканирования, поэтому не рекомендуется ставить значение меньше 2-3 дней!

providers.searchEngine.indexableFileTypes - индексируемые типы файлов.
В текущей версии поддерживаются форматы: zip,7z,rar,txt,csv,htm,html,eml,mht,pdf,doc,docx,xlsx,pptx,odt,ods,odp,odg

providers.searchEngine.detectFileType - при включении тип файла будет распознаваться по его сигнатуре, а не расширению в имени.
Внимание! При включении данного параметра время цикла индексирования увеличивается, также как и значительно вырастает объем индекса на диске!

providers.searchEngine.excludeFileMasks - исключить маски файлов из сканирования

providers.searchEngine.excludeDirMasks - исключить папки (без путей) из сканирования (также можно использовать маски)

providers.searchEngine.storeIndexedContent - сохранять или нет содержимое найденных фрагментов в индексе (true - увеличивает размер индекса, но позволяет показать фрагменты найденного текста, а не только путь к документу, false - не сохраняет)

providers.searchEngine.includePath.1 - путь для сканирования. Можно указать звездочку * для сканирования всех дисков (кроме сетевых). Для поиска по конкретному логическому диску нужно указывать путь вида \\?\C:\
переменные окружения (%переменная%) здесь использовать нельзя!

providers.searchEngine.includePath.2 - при необходимости можно указать второй, третий и т.д. пути для сканирования

providers.searchEngine.ignoreRemovableDisks - если указать false, то в режиме сканирования всех дисков будут также сканироваться и съемные диски

providers.searchEngine.minTimestampFile - укажите дату в формате ГГГГ-ММ-ДД и файлы, измененные ранее этой даты, не будут индексироваться

providers.searchEngine.regExpOverlapSize - максимальная длина строки, которую можно найти с помощью регулярных выражений

providers.searchEngine.regExpMatchLimit - максимальное количество совпадений, которое может быть найдено для одного регулярного выражения в одном документе

providers.searchEngine.textAnalyzer - языковой анализатор используемый для разбивки текста на термы, возможные значения: Standard, Czech, Dutch, English, French, German, Russian

providers.searchEngine.fragmentsLimit - максимальное количество фрагментов текста, которое может быть выдано в результатах поиска для одного документа

Примечание: при каждом изменении этих настроек индекс полностью перестраивается, т.е. удаляются накопленные данные и процесс сканирования начинается сначала.


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

Макс. результатов поиска
Сколько результатов поиска (фактически документов, в которых найден запрос) использовать. Результаты отсортированы по релевантности. Допустимые значения - от 1 до 255.

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

Поисковый запрос
Здесь указывается поисковый запрос.
Переход на новую строку в запросе равносилен символу пробела.
Полное описание формата запросов можно почитать здесь: https://lucene.apache.org/core/2_9_4/queryparsersyntax.html, но также используется небольшое расширение данного синтаксиса.

Примеры:

Поиск слов test и software в одном документе:
test AND software

Поиск на точное совпадение (указывается в кавычках):
"совершенно секретно"

Поиск документов типа docx, в которых есть совпадение на регулярное выражение @IPv4@ и содержат слово "персональный":
type:docx AND @IPv4@ AND персональный

Поиск файла по его md5:
digest:3fcdcb42d0797d0b08c52e9d214b4ad2

Поиск зашифрованных файлов (например, архивов паролем):
flags:encrypted OR flags:unsupported

Примечание: поиск регулярных выражений возможен только из списка, указывая нужное регулярное выражение в формате @ИМЯ@ (верхний/нижний регистры имеют значение!)
Если нужно найти любое из регулярных выражений (условие "ИЛИ"), то необходимо использовать @||@
Если нужно найти все регулярные выражения (условие "И"), то необходимо использовать @&&@

© СТАХАНОВЕЦ