Описание

DocFetcher ­– это приложение с открытым исходным кодом, позволяющее вам совершать поиск по содержимому файлов на вашем компьютере. — Это как Google, но только для локальных файлов. Приложение работает на Windows, Linux и OS X. Распространяется по лицензии Eclipse Public License.

Каки использовать?

Приведённый ниже скриншот отображает основной пользовательский интерфейс программы. Запросы вводятся в текстовое поле (1). Результаты поиска отображаются в панели результатов (2). В поле предпросмотра (3) можно увидеть текстовое содержание файлого, выделенного в панели результатов. Все совпадения выделены жёлтым.

Вы можете фильтровать результаты, указав минимальный или максимальный размер файла (4), тип файла (5) или его расположение (6). Кнопки, отмеченные цифрой (7), используются для вызова руководства пользователя, настроек и сворачивания программы в трей.

Для работы DocFetcher необходимо проиндексиоровать те папки, в которых вы хотите осуществлять поиск. Что такое индексация и как она работает подробнее описано ниже. Вкратце, индекс позволят DocFetcher быстро (буквально за несколько мгновений) определить, в каких файлах содержится определённый набор слов. Соответственно, скоость поиска увеличивается. Данный скриншот показывает диалог DocFetcher по созданию новых индексов.

Нажатие на кнопку «Запуск» внизу этого диалогового окна запускает индексацию. Процесс индексирования может занять некоторое время, в зависимости от количества и размера файлов для индексирования. Как правило, в минуту индексируется около двухсот файлов.

Нет необходимости каждый раз индексировать заново одну и ту же папку. Обновление индекса папки после изменения её содержимого происходит гораздо быстрее. Этот процесс обычно занимает несколько секунд.

Особенности программы

  • Портативная версия: Портативная версия DocFetcher работает на Windows, Linux и OS X. Ниже описано, зачем это нужно.
  • Поддержка 64-битных систем: Поддерживаются как 32-битные, так и 64-битные операционные системы.
  • Поддержка Unicode: DocFetcher поддерживает Unicode для всех основных форматов файлов, включая Microsoft Office, OpenOffice.org, PDF, HTML, RTF и TXT.
  • Поддержка архивированных файлов: DocFetcher поддерживает следующие форматы архивов: zip, 7z, rar, и всё семейство архивов tar.*. Список расширений файлов для zip-архивов может быть изменён, что позволит вам добавить поддержку других форматов, основанных на zip. Кроме того, DocFetcher может с лёгкосьтью справляется с неограниченным количеством вложенных архивов.
  • Поиск в файлах исходных кодов: Расширения файлов, в которых DocFetcher распознаёт обычный текст, может быть изменён, это позволит вам использовать DocFetcher для поиска в исходном коде любого вида и других текстовых форматах. (Эта функция в сочетании с функцией изменения расширений для zip-архивов даёт хорошие результаты, например, например, вы можете осуществлять поиск в исходном коде Java внутри файлов jar)
  • Файлы Outlook PST: DocFetcher позволяет осуществлять поиск по письмам Outlook, которые обычно хранятся в файлах PST.
  • Определение HTML-пар DocFetcher по умолчанию определяет пары HTML-файлов (например, файл под названием «foo.html» и папка под названием «foo_files») и рассматривает их как один документ. На первый взгляд эта функция может показаться бесполезной, но на самом деле она сильно увеличивает производительность при поиске по файлам HTML, так как вся неразбериха из HTML-папок не попадает в результаты поиска.
  • Исключения файлов из индекса на основе регулярных выражений: Вы можете использовать регулярные выражения, чтобы исключить определённые файлы из индекса. Например, чтобы исключить файлы Microsoft Excel, вы можете использовать такое регулярное выражение: .*\.xls
  • Определение MIME-типов: вы можете использовать регулярные выражения, чтобы включить «определение MIME-типов» для определённых файлов, что будет означать, что DocFetcher будет пытаться определить тип файла не просто по названию этого файла, но и по его содержимому.
  • Мощный синтаксис запросов: В дополнение к стандартным выражениям типа 'OR', 'AND' и 'NOT', DocFetcher также поддерживает шаблоны подстановки, поиск фраз, неточный поиск («найти слова, похожие на данное»), поиск по соседству («эти два слова должны находиться на расстоянии не более чем в 10 слов друг от друга»), повышение («повысить оценку документов, содержащих…»)

Поддерживаемые форматы документов

  • Microsoft Office (doc, xls, ppt)
  • Microsoft Office 2007 и новее (docx, xlsx, pptx, docm, xlsm, pptm)
  • Microsoft Outlook (pst)
  • OpenOffice.org (odt, ods, odg, odp, ott, ots, otg, otp)
  • Portable Document Format (pdf)
  • EPUB (epub)
  • HTML (html, xhtml, ...)
  • Plain text (customizable)
  • Rich Text Format (rtf)
  • AbiWord (abw, abw.gz, zabw)
  • Microsoft Compiled HTML Help (chm)
  • MP3 Metadata (mp3)
  • FLAC Metadata (flac)
  • JPEG Exif Metadata (jpg, jpeg)
  • Microsoft Visio (vsd)
  • Scalable Vector Graphics (svg)

Сравнение с другими приложениями похожего функционала.

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

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

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

Бесплатно навсегда: Так как у DocFetcher открытый исходный код, вам не стоит бояться, что программа когда-нибудь устареет и перестанет развиваться. А если говорить о технической поддержке, слышали ли вы о том, что Google Desktop, один из основных коммерческих конкурентов DocFetcher перестал разрабатываться в 2011? Вот.

Кроссплатформенность: В отличие от многих конкурентов, DocFetcher работает не только на Windows, но и на Linux, и на OS X. Таким образом, если вы вдруг решите перейти с Windows на Linux или OS X, DocFetcher будет ждать вас там.

*Портативность: Один из главных плюсов DocFetcher ­– это портативность. Короче говоря, вы можете создать полноценное доступное для поиска хранилище документов на USB-носителе. Подробнее в следующем разделе.

Индексирование только необходимых документов: Среди коммерческих конкурентов DocFetcher наблюдается тенденция по сканированию всего жёсткого диска — Возможно, это делается из соображений о том, что пользователи «туповаты» и не смогут правильно пользоваться программой. А возможно, программы собирают таким образом конфиденциальные данные. Практика показывает, что большинство пользователей не хотят индексировать весь жёсткий диск. Не только из-за пустой трата времени и места на диске, но ещё и потому, что это засоряет поисковую выдачу ненужными файлами. DocFetcher же индексирует только те папки, на которые вы укажете. А ещё вам доступно множество опций фильтрации.

Портативные хранилища документов

Одна из выдающихся особенностей DocFetcher ­– это его доступность в виде портативной версии, которая позволяет вам создать портативное хранилище документов — полностью доступное для индекса и поиска. Вы можете взять с собой.

Примеры использования: Вот что вы можете делать с таким хранилищем документов: вы можете взять его с собой на USB-диске, записать его на CD в целях архивации, поместить его на защищённый раздел диска (рекомендуем использовать TrueCrypt), синхронизировать его с другими компьютерами через облачное хранилище вроде DropBox. А так как у DocFetcher открытый исходный код, вы можете поделиться своим хранилищем документов со всем миром, если вдруг вам захочется.

Java: Производительность и портативность: Наверное, не всем нравится тот факт, что DocFetcher написан на платформе Java, имеющей репутацию «медленной». Лет десять назад производительность Java действительно оставляла желать лучшего, но сейчас всё хорошо, можете почитать об этом на Википедии. Как бы то ни было, Java позволяет одному и тому же пакету DocFetcher быть запущеным на Windows, Linux и OS X — В то же время многие другие программы требуют разных пакетов для каждой платформы. В итоге вы можете, например, поместить ваше портативное хранилище документов на USB-диск, а потом получить доступ к нему из любой из вышеперечисленных операционных систем, убедившись, что в системе установлена Java.

Как работает индексация

Данный раздел даёт базовое представление о том, что такое индексация и как она работает.

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

Поиск, основанный на индексе: Именно поэтому DocFetcher, выполняя поиск по содержимому, использует подход, называемый «индексация». Считается, что большинство файлов (примерно 95%), по которым пользователь осуществляет поиск, не изменяются (как минимум делают это редко). Вместо того, чтобы открывать каждый файл после каждого нового поискового запроса, гораздо эффективнее было бы сделать это лишь раз. Таким образом создаётся что-то вроде словаря, который называется индексом. Он позволяет быстро находить документы по содержащимся в них словам.

Сравнение с телефонной книгой: Просто подумайте о том, насколько удобнее искать чей-то номер телефона в телефонной книге (это своеобразный индекс), а не обзванивать каждый возможный номер телефона с целью узнать, не является ли человек на другом конце провода тем, кого вы ищете. — Звонок кому-либо и извлечение текста из файла – это трудоёмкие операции. Кроме того, люди не очень часто меняют свои телефонные номера. Точно так же и многие файлы на компьютере долго остаются неизменными.

Обновления индекса: Конечно, индекс отображает файлы в их состоянии на момент индексирования. А оно могло и измениться. То есть, если индекс не актуален, результаты поиска будут устаревшими. Точно так же устаревает телефонная книга. Но это не проблема. Как мы уже знаем, большинство файлов обновляется очень редко. Кроме того, DocFetcher может автоматически обновлять индексы: (1) При запуске он определяет изменённые файлы и, соответственно, обновляет их индексы. (2) Когда он не запущен, маленький фоновый процесс будет определять изменения в файлах и составлять список тех из них, которые требуют обновления индекса. DocFetcher обновит эти индексы при следующем запуске. Вы можете не беспокоиться об этом фоновом процессе: он действительно мало нагружает процессор и память, так как не делает ничего, кроме обнаружения изменения в папках, оставляя боле затратное обновления индекса DocFetcher.