Разработка 4 мин чтения

rga: поиск внутри PDF, Word и архивов в папке без сервера

ripgrep-all (rga) ищет слово внутри PDF, документов Word, архивов и баз SQLite прямо из консоли, без сервера и индексатора. Разобрал лицензию, форматы, установку на Windows, кэш и границы: сканы без OCR, Excel и конфиденциальность.

ripgrep-allпоиск по документамopen sourcePDF
Коротко. ripgrep-all (команда rga, репозиторий phiresky/ripgrep-all) надстраивается над быстрым поиском ripgrep и заглядывает внутрь PDF, docx и odt, электронных книг, zip и tar.gz (в том числе вложенных), баз SQLite и субтитров видео. Сервера и индексатора нет: одна команда в консоли, повторные поиски ускоряет локальный кэш. Лицензия AGPL-3.0, около 9,9 тысячи звёзд, проекту семь лет, основной автор один, документация на английском. Это консольная программа, окна для бухгалтера в ней нет. Сканы без текстового слоя она не прочитает, встроенного OCR нет, а кэш хранит извлечённый текст ваших документов. Сам я rga не запускал, пишу по README и коду.
Хотите внедрить это у себя?

Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.

Настройка поиска по документам и ИТ-инфраструктуры

Где в этой папке неустойка 0,1 процента

Директор спрашивает, в каком из договоров был пункт про неустойку 0,1 процента в день. Договоров четыреста. Часть лежит в docx, часть в PDF, прошлый год в архиве ZIP, а внутри него ещё один архив с перепиской. Поиск по имени файла здесь бесполезен, имя «Договор_15_финал2» ничего не говорит о содержимом.

Каталог поверх дисков я разбирал в статье про Spacedrive, архив со сканами и поиском на сервере в статье про Paperless-ngx. Есть и третий путь, самый дешёвый: ничего не ставить на сервер и искать прямо в папке одной командой.

Что такое rga и в каком он состоянии

rga (github.com/phiresky/ripgrep-all) написан на Rust. Автор Phiresky, репозиторий создан 4 июня 2019 года. Лицензия AGPL-3.0: в файле LICENSE.md полный текст AGPL, в Cargo.toml указано AGPL-3.0-or-later (GitHub в карточке пишет «NOASSERTION» из-за вступления перед текстом). Для работы внутри компании публиковать ничего не нужно. Если вы встраиваете rga в свой сетевой сервис или меняете его код, лицензию стоит показать юристу.

На 21 октября 2026 года у репозитория около 9,9 тысячи звёзд, он не архивный. Последний коммит от 17 сентября 2026, последний релиз v0.10.10 вышел 9 ноября 2025. Из 35 контрибьюторов подавляющая часть коммитов у автора (около 340), на втором месте человек с 62. В 2022 году автор писал в обсуждении проекта, что это небольшой побочный проект. Читать документацию придётся по-английски, русскоязычной нет.

Какие форматы читает и что для этого нужно

Список адаптеров из README: pandoc (docx, odt, epub, fb2, html, ipynb), poppler (PDF через pdftotext), ffmpeg (метаданные, главы и субтитры в mkv, mp4, avi, mp3, ogg, flac, webm), zip и jar, tar, сжатые файлы (gz, bz2, xz, zst, tgz), sqlite (db, sqlite, sqlite3). Почтовый адаптер для eml и mbox выключен по умолчанию и включается флагом --rga-adapters=+mail. Вложенность архивов по умолчанию ограничена пятью уровнями.

Обратите внимание на то, чего в списке нет: xls и xlsx, старый doc, pptx. Для бухгалтерии с выгрузками в Excel это существенная дыра, проверяйте на своих файлах. Сами конвертеры rga не содержит, он вызывает pandoc, pdftotext и ffmpeg. На Linux их ставят командой apt install ripgrep pandoc poppler-utils ffmpeg.

Пример запроса: rga -i "неустойка" D:Договоры. Ключи у rga общие с ripgrep. В выдаче видны имя файла и строка, для PDF по описанию адаптера добавляется номер страницы.

Установка на Windows и кэш

README называет единственным поддерживаемым способом для Windows Chocolatey (choco install ripgrep-all) или Scoop (scoop install rga). Если скачать zip вручную, зависимости (например pdftotext) не приедут. Нюанс из релизов: в v0.10.10 нет Windows-архива, он был в v0.10.9, и манифест Scoop на сегодня указывает именно на 0.10.9. Есть также Homebrew и MacPorts для macOS, пакеты для Arch, Gentoo и Nix.

Извлечённый текст rga кладёт в кэш: на Windows это папка C:UsersимяAppDataLocal ipgrep-all. По README повторные поиски по тому же набору файлов идут заметно быстрее. Измерений в README нет, замеров я не делал. По статье автора 2019 года первый проход быстрее pdfgrep за счёт многопоточности, а повторный почти как поиск по обычному тексту. Это старый источник и без цифр. Результат длиннее примерно 2 МБ после сжатия в кэш не попадает и считается заново при каждом запуске. Путь меняет --rga-cache-path, отключает --rga-no-cache.

Что важно учесть

Сканы. Адаптер poppler достаёт только текстовый слой PDF. Скан без слоя даст пустой результат. OCR в списке адаптеров нет, в каталоге src/adapters файлов под него нет, в вики проекта стоит пометка «Todo: tesseract OCR adapter». Подключить OCR можно через собственные адаптеры в конфиге (внешняя программа, которую вы укажете), готовых рабочих связок я не проверял. О том, как распознают сканы, писал в статье про OCR с фото и скана.

Кэш и конфиденциальность. В кэше лежит сжатый текст ваших договоров, зарплатных ведомостей, переписки. README про шифрование кэша ничего не говорит. Держите его на зашифрованном диске, для папок с чувствительным содержимым запускайте с --rga-no-cache и чистите папку при увольнении сотрудника.

Безопасность. rga запускает внешние программы над файлами, которые вы ему дали. Пересланный контрагентом архив с PDF разбирают pandoc, pdftotext и ffmpeg, а любая программа-разборщик чужих файлов может иметь уязвимости. Не гоняйте rga по подозрительным вложениям на рабочем компьютере с доступом ко всему, держите конвертеры обновлёнными. Защиты от архивов-бомб, кроме лимита вложенности, в README я не нашёл.

Кириллица и кодировки. В README о них не сказано. В репозитории открыт запрос 2020 года про не-UTF-8 электронные книги. Русские файлы я не проверял, прогоните свои образцы, прежде чем обещать кому-то результат. Про зашифрованные и повреждённые PDF в README тоже нет ни слова. По журналу изменений (версия 0.9.2) ошибки по проблемным файлам выводятся короткой строкой, скрыть их можно флагом --no-messages.

Что можно сделать уже сейчас

Поставьте rga на один компьютер через Scoop или Chocolatey и возьмите копию папки на 100 договоров, актов и писем. Поищите три реальных слова: фамилию контрагента, номер счёта, сумму. Сравните с тем, что нашёл бы человек.

Положите в ту же копию несколько скан-PDF и xlsx. Это покажет границу: что находится, что нет.

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

Если сканов много, нужен OCR перед поиском: такой конвейер, ярлык «Найти в документах» и инструкцию на одну страницу я собираю в рамках распознавания документов и работы с ИТ-инфраструктурой.

Частые вопросы

Нужен ли для rga сервер или база?

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

Найдёт ли rga текст на отсканированном договоре?

Только если у PDF уже есть текстовый слой. Встроенного распознавания в списке адаптеров нет.

Можно ли искать в письмах Outlook или Thunderbird?

README описывает почтовый адаптер для файлов eml и mbox, выключенный по умолчанию, с вложениями. Файлы pst Outlook среди форматов не названы.

Коротко о главном

rga закрывает узкую задачу: найти слово внутри разнородных файлов в папке без сервера и индексатора. Он бесплатный, с открытым кодом под AGPL-3.0, но это инструмент для консоли, его нужно ставить, проверять на русских образцах и аккуратно обращаться с кэшем.

Хотите, чтобы по вашей папке с договорами и актами искали одной кнопкой, а сканы сначала распознавались? Напишите мне в Telegram кодовое слово «ПЕРЕРЫТЬ». Проверим на ваших файлах, настроим поиск, кэш и правила доступа.

Обсудим вашу задачу

Что я делаю для бизнеса

Напишите одной фразой, что нужно. Отвечу, что подойдёт, сколько займёт и сколько стоит. Сообщение уже подготовлено.

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ
Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх