Recoll WebUI: поиск по локальному архиву документов через браузер
Recoll WebUI нужен не для чтения или редактирования PDF как такового, а для другой задачи: дать браузеру доступ к уже построенному полнотекстовому индексу Recoll. Он особенно уместен там, где документы остаются на собственном компьютере или сервере, а искать по их содержимому требуется с нескольких рабочих мест. Важно не путать этот проект со старым репозиторием Koniu, настольным интерфейсом Recoll, мобильным клиентом или облачным сервисом: актуальная линия Recoll WebUI — самостоятельный Python 3‑фронтенд, который сопровождается Жан‑Франсуа Докесом в экосистеме Recoll.
| Параметр | Recoll WebUI |
|---|---|
| Тип | Самостоятельно размещаемый веб-интерфейс к поисковому индексу Recoll |
| Текущий сопровождающий | Jean-Francois Dockes, проект medoc92/recollwebui |
| Стабильный выпуск | v2.0.0, 13 мая 2026 года; в master есть более поздние исправления |
| Серверная основа | Python 3, Recoll и его Python 3 API; для автономного режима по умолчанию Waitress |
| Клиент | Современный веб-браузер |
| Данные | Существующий индекс Recoll и доступные серверу оригиналы файлов |
| Экспорт результатов | CSV и JSON, если администратор не отключил эту возможность |
| Учетная запись | Встроенная регистрация не требуется; встроенной аутентификации для публикации сервиса нет |
| Облако | Не является SaaS: поиск выполняется на вашем экземпляре Recoll |
| Язык интерфейса | Текущие шаблоны используют английские подписи |
| Цена | Платной редакции и подписки у проекта WebUI не заявлено |
Скачать Recoll WebUI
Новейшая версия для Виндовс, macOS и Линукс. Удобный редактор PDF под российские реалии.
Канонический источник актуального проекта — репозиторий medoc92/recollwebui на Framagit. На 12 сентября 2026 года последний отмеченный стабильный выпуск — v2.0.0 от 13 мая 2026 года. Его разумно брать со страницы тегов или релизов проекта в виде исходного архива либо получать через Git. Сам README прямо рекомендует стабильные выпуски вместо случайного состояния основной ветки: такое правило появилось после того, как в master однажды попала неприятная ошибка.
При этом master нельзя считать тем же самым, что v2.0.0. После выпуска в основной ветке появились изменения для открытия PDF на первой странице совпадения и июньское исправление, связанное с PDF‑позиционированием и ссылкой Download. Поэтому выбор зависит от задачи: для предсказуемого развёртывания нужен стабильный тег; для функции или исправления, появившихся после него, — конкретный более новый коммит с обязательной проверкой на тестовом экземпляре.
Старый GitHub‑репозиторий Koniu не следует использовать как источник актуальной версии: официальный README нынешней ветки прямо называет его устаревающим и указывает на обновлённый клон. Встречающийся GitHub‑репозиторий devome/recollwebui, напротив, является зеркалом Framagit, но при выборе первоисточника лучше ориентироваться на проект сопровождающего. Отдельного установщика Recoll WebUI нет: распространяется исходный код. Сам движок Recoll и его Python‑модуль устанавливаются отдельно.
Безопасный путь получения состоит из трёх проверок: домен должен принадлежать официальному проекту Recoll/Framagit, выбранная версия должна быть явно помечена тегом, а зависимости — ставиться из репозитория ОС или официальной среды Python. Сборки с файлообменников не дают практического преимущества, потому что WebUI невелик и не требует закрытого бинарного дистрибутива.
Что такое Recoll WebUI
Recoll WebUI — веб-фронтенд к Recoll, полнотекстовому поисковому движку на базе Xapian. Исторически интерфейс создал разработчик под именем Koniu, а актуальный проект на Framagit поддерживается Жан‑Франсуа Докесом, автором и сопровождающим Recoll. Страница проекта формулирует назначение буквально: дать доступ к индексу Recoll из браузера.
Архитектурно это тонкий слой над уже настроенным Recoll. Он не выбирает каталоги для индексирования, не строит политику OCR, не устанавливает обработчики форматов и не заменяет recollindex. Сначала администратор добивается корректного поиска обычными средствами Recoll, затем WebUI открывает тот же индекс через HTTP. Это разделение объясняет и сильную сторону продукта — использование зрелого поискового ядра, — и порог входа: один веб-скрипт без корректного индекса ничего полезного не даст.
Продукт также не является веб-редактором PDF, системой электронного документооборота или хранилищем с загрузкой файлов через форму. Он показывает результаты, сниппеты и метаданные, умеет выдавать оригинал, текстовый предпросмотр и выгрузку набора результатов. Если задача сводится к чтению одного PDF, специализированный просмотрщик вроде Evince проще. Recoll WebUI раскрывается, когда файлов сотни тысяч и важно искать по содержимому всего архива.
Проект действует: в 2026 году вышел стабильный v2.0.0 с адаптивным интерфейсом, а затем master получил новые исправления. Версии WebUI и ядра Recoll нужно отслеживать отдельно.
Основные функции Recoll WebUI
Полнотекстовый запрос и фильтрация
Поле Query передаёт запрос API Recoll, поэтому WebUI наследует поиск по словам и фразам, логические условия, поиск по близости, шаблоны, ограничения по типу и каталогу. Отдельные поля Folder и Dates позволяют сузить выдачу без длинного ручного выражения; дата задаётся как YYYY, YYYY-MM или YYYY-MM-DD. Сортировка доступна по релевантности, дате, пути, имени файла, размеру и автору, с восходящим или нисходящим порядком.
Сниппеты, Preview, Download и Open
Результат показывает название, путь, дату, фрагмент текста вокруг совпадения и, если есть, автора и число схлопнутых дубликатов. Размер контекста настраивается. Заголовок можно связать с Download, Preview или Open; те же действия могут выводиться отдельными ссылками. Preview помогает проверить найденный текст, Download отдаёт исходный файл через WebUI, а Open обращается к пути оригинала.
На сервере именно Open чаще всего требует настройки: файловый путь машины с индексом может отсутствовать на клиенте, а браузер блокирует переход с HTTP-страницы на file://. Для таких установок предусмотрено сопоставление mount‑путей, однако Preview и Download обычно предсказуемее.
CSV и JSON
CSV и JSON выгружают не документы, а набор результатов и метаданные. По умолчанию перечислены filename, title, author, size, time, mtype и url. Администратор может изменить поля, ограничить число результатов или полностью отключить эти выгрузки. Функция полезна для инвентаризации и дальнейшей автоматической обработки, но широкие запросы без лимита создают лишнюю нагрузку.
Несколько индексов и постоянные ссылки
RECOLL_EXTRACONFDIRS подключает дополнительные индексы к основному поиску. Это позволяет, например, держать рабочую и архивную базы раздельно, но искать их из одной страницы. Для более устойчивых Preview/Download‑ссылок есть webui_permlinks и webui_res_permlink: они используют уникальный идентификатор Recoll rcludi вместо одной лишь позиции документа в текущей выдаче.
PDF‑позиционирование
Опция webui_pdfposition пытается открыть PDF на странице совпадения. В master в мае 2026 года механизм расширили API Recoll 1.44, который сообщает первую подходящую страницу; Firefox использует номер страницы и поисковый термин, Chrome — как минимум страницу. Это изменение новее стабильного v2.0.0, поэтому его нельзя автоматически приписывать тегу релиза.
Механизм создаёт временную копию PDF в TMPDIR или RECOLL_TMPDIR, а приложение не знает, когда её уже можно удалить. При включении функции нужен отдельный каталог с ограниченными правами и регулярной очисткой.
Интерфейс и удобство использования
Главная рабочая зона компактна: строка Query, выбор Folder, диапазон Dates, Sort by и Order, затем кнопки Search, Reset и Settings. Под формой появляется строка со счётчиком найденных документов и временем выполнения запроса, ссылки CSV/JSON и пагинация. Такая компоновка близка к поисковой странице, а не к файловому менеджеру, поэтому основная задача считывается без обучения.
Страница Settings заметно техническая. Там находятся stemming, схлопывание дубликатов, максимальное число результатов, количество элементов на странице, длина контекста, формат времени, глубина дерева каталогов, действие по клику на заголовок, подмена путей mount и состав полей CSV. Пользовательские значения сохраняются в cookie. Если сервис предназначен для широкой аудитории, администратор может скрыть настройки и зафиксировать безопасные значения в recoll.conf.
В v2.0.0 интерфейс стал адаптивным, поэтому браузерный доступ с небольших экранов практичнее, чем в прежней ветке. Однако это всё ещё утилитарный интерфейс: нет панели загрузки, коллекций, визуальных тегов, редактора аннотаций или ролевой модели. Текущие шаблоны содержат английские подписи Query, Folder, Dates, Sort by, Settings, Preview и Download; переключателя языка в штатной конфигурации не заявлено.
Порог освоения поэтому раздваивается. Пользователю, которому дали готовый адрес, достаточно понимать поисковый синтаксис и назначение Preview/Open. Администратору нужны навыки Recoll, Python, файловых прав и HTTP‑развёртывания. Именно административная часть определяет, будет ли WebUI «простой поисковой страницей» или источником проблем с путями, доступом и безопасностью.
Поддерживаемые форматы и совместимость
У Recoll WebUI нет собственного списка импортируемых форматов: он ищет по тому, что смог проиндексировать Recoll. Ядро нативно работает с текстом, HTML, почтовыми хранилищами и рядом XML‑форматов, а для PDF, старых документов Microsoft Office, RTF, CHM, EPUB, DjVu, архивов и других типов применяет встроенные либо внешние извлекатели. Само расширение файла не гарантирует поиск — нужный обработчик должен успешно извлечь текст при индексировании.
Для PDF обычный путь — Poppler/pdftotext. Скан без текстового слоя требует OCR на стороне Recoll, где могут использоваться Tesseract или ABBYY FineReader; WebUI не запускает распознавание по кнопке. Для отдельной OCR‑задачи полезнее специализированный ABBYY FineReader.
Recoll и его Python API доступны на Unix‑подобных системах, Windows и macOS. Для Windows существует актуальная инструкция WebUI: на апрель 2026 года она указывает 64‑разрядные сборки Python 3.10–3.13, совместимый wheel Recoll Python API и Waitress. На Debian/Ubuntu документирован пакет python3-recoll. Для macOS ядро и API доступны, но отдельного столь же подробного рецепта WebUI нет.
Клиенту нужен только браузер. Найденный PDF можно просмотреть, скачать или передать локальной программе. Для дальнейшей работы с аннотациями и правками уместен, например, PDF-XChange Editor; WebUI содержимое оригинала не изменяет. Если Open ведёт на серверный file://‑путь, которого нет у клиента, используйте Preview/Download либо корректное сопоставление путей.
Производительность и стабильность
Скорость складывается из работы Recoll/Xapian и веб-слоя. Recoll способен обслуживать очень крупные индексы, но это не означает такую же пропускную способность одного процесса WebUI. Фронтенд дополнительно формирует сниппеты, Preview и выгрузки, поэтому широкий CSV/JSON или тяжёлый предпросмотр может занять заметное время.
Автономный запуск использует Waitress и подходит для умеренной совместной работы. Внутренний сервер Bottle можно включить правкой запуска, но он обрабатывает один запрос одновременно, что плохо сочетается с длительным экспортом. В WSGI‑схеме официальная инструкция рекомендует для параллелизма несколько процессов, а не множество потоков: приложение в основном однопоточное.
WebUI не задуман как занятый публичный поисковый сайт. Для общего сервера полезно ограничить webui_maxresults, при необходимости webui_maxperpage и уменьшить webui_dirdepth: значение 2 по умолчанию на очень большом дереве каталогов может даже вызвать ошибки инициализации. Пагинация по умолчанию — 25 результатов.
Минимум README — Recoll 1.20+, но это нижняя граница совместимости, не рекомендация держать старое ядро. В ветке Recoll 1.43 исправлялась утечка Python Query, способная в долгоживущем WebUI исчерпывать файловые дескрипторы. На Windows актуальный Recoll на 2 сентября 2026 года — 1.44.2.
Отдельно контролируйте свежесть индекса: WebUI сам не решает, когда запускать recollindex. Рабочий мониторинг должен проверять не только доступность HTTP‑порта, но и то, что недавно изменённый контрольный документ появляется в поиске.
Лицензирование и версии
Recoll WebUI распространяется как открыто доступный исходный проект: платной редакции, подписки, ограниченного бесплатного режима, пробного срока или обязательной регистрации у WebUI нет. Версионно сегодня важны две точки: стабильный тег v2.0.0 и более свежий master с последующими исправлениями. Старую ветку Koniu следует воспринимать как историческую основу, а не как параллельную актуальную редакцию.
Есть юридическая оговорка, которую нельзя замалчивать. В корне актуального зеркала WebUI нет отдельного файла LICENSE/COPYING, а метаданные репозитория не определяют лицензию. Поэтому называть сам WebUI «GPL» только потому, что ядро Recoll распространяется по GPL, некорректно. Организации, которым требуется формально определённое право на перераспространение или включение кода в продукт, стоит уточнить условия у сопровождающего до такого использования.
Recoll как отдельный проект имеет собственное GPL‑лицензирование. WebUI использует его Python API, но операционно это две разные составляющие: обновление Recoll не меняет тег WebUI, а обновление WebUI не перестраивает индекс. Такой раздельный контроль версий полезно закрепить в конфигурации сервера или журнале изменений.
Расходы определяет эксплуатация: место под индекс и временные файлы, резервное копирование, администрирование ОС, HTTPS и аутентификация. Корпоративный общий поиск остаётся сервисом, который нужно сопровождать и защищать, даже если сам WebUI не имеет цены подписки.
Системные требования
Linux и другие Unix-подобные системы
Базовый набор из README: Python 3, Recoll 1.20 или новее, Python 3‑модуль Recoll и веб-браузер. Для автономного запуска текущая ветка дополнительно использует пакет Waitress. В Debian/Ubuntu официальная WSGI‑инструкция устанавливает Recoll и привязку командой пакетов recoll и python3-recoll. Для системного сервиса потребуется systemd либо другой менеджер процессов; для Apache‑варианта — веб‑сервер и Python 3‑совместимый mod_wsgi.
Windows
Официальная инструкция, обновлённая 24 апреля 2026 года, ориентируется на 64‑битный Python 3.10–3.13 и соответствующий wheel Python API, лежащий в каталоге Share/dist установленного Recoll. После установки модуль проверяется импортом recoll, затем ставится Waitress и запускается webui-standalone.py. Сам Recoll на 12 сентября 2026 года официально собирается и тестируется для Windows 10 и считается нормально работающим на Windows 11; новые версии не предназначены для Windows 7 и XP.
Ресурсы и сеть
Разработчик не публикует фиксированный минимум RAM, CPU или свободного места именно для WebUI, поэтому придумывать цифры нельзя. Реальные требования определяются размером Xapian‑индекса, набором фильтров, числом одновременных пользователей и объёмом временных данных. Для локального запуска достаточно loopback‑доступа; для работы с других машин нужен слушающий сетевой адрес, межсетевой экран и, при выходе за доверенную сеть, защищённый HTTP‑контур с аутентификацией.
После установки интернет для обычного поиска не нужен: индекс и оригиналы могут оставаться в локальной инфраструктуре. Пользователям требуется доступ к серверу, а процессу WebUI — права чтения индекса и документов для Preview/Download.
Преимущества и недостатки Recoll WebUI
Плюсы и минусы
Плюсы ✔️
- Поиск из браузера по существующему индексу. Клиентским машинам не нужно устанавливать Recoll и хранить локальную копию индекса.
- Сильное поисковое ядро. Доступны возможности Recoll: полнотекстовый поиск, фразы, логические условия, stemming, ограничения по каталогу и типу.
- Самостоятельное размещение. Документы не требуется загружать поставщику SaaS; контроль над сервером и индексом остаётся у владельца.
- Несколько способов получить результат. Open, Download, Preview, выгрузки CSV/JSON и опциональные постоянные ссылки закрывают разные рабочие сценарии.
- Работа с дополнительными индексами. RECOLL_EXTRACONFDIRS позволяет объединять поиск по нескольким базам без физического слияния архивов.
- Небольшой фронтенд. Веб-часть состоит из Python‑приложения и шаблонов, её можно запускать автономно или через WSGI.
Минусы ❌
- Нет встроенного безопасного многопользовательского контура. Документация прямо предупреждает, что примеры не обеспечивают контроль доступа.
- Индексирование настраивается отдельно. WebUI не заменяет Recoll GUI, recollindex, обработчики форматов и OCR‑конвейер.
- Не DMS и не PDF‑редактор. Нет загрузки документов, версий, согласований, аннотаций или изменения содержимого файла.
- Проблемы серверных путей неизбежны без проектирования. file:// с удалённой HTTP‑страницы блокируется браузерами, а пути сервера могут отсутствовать у клиента.
- Ограниченная готовность к высокой нагрузке. Waitress подходит для умеренного доступа, но WebUI не рассчитан на занятой публичный портал.
- Интерфейс технический и англоязычный. Пользовательские настройки полезны, но не заменяют современную административную панель.
- Лицензия WebUI формально не обозначена в корне текущего репозитория. Для корпоративного перераспространения это требует отдельной проверки.
Сравнение с аналогами
Recoll WebUI правильнее сравнивать не только с просмотрщиками, а с разными способами найти и получить документ. Ключевые критерии — где работает индекс, как пользователь входит в поиск, есть ли управление документами и насколько сложна публикация нескольким пользователям.
| Решение | Индекс и интерфейс | Управление документами | Совместный доступ | Когда выбирать |
|---|---|---|---|---|
| Recoll WebUI | Индекс Recoll на сервере, браузер | Поиск, Preview, Download, экспорт метаданных; без редактирования | Да, но аутентификацию и HTTPS нужно проектировать отдельно | Уже есть файловый архив и Recoll, нужен единый веб-поиск |
| Настольный Recoll | Тот же движок, Qt‑интерфейс на рабочем месте | Больше возможностей настройки поиска и индекса | Не веб-сервис сам по себе | Один пользователь или администратор индекса работает локально |
| DocFetcher | Локальный кроссплатформенный индекс и desktop GUI | Поиск и предпросмотр, без серверной DMS | Не ориентирован на общий веб-доступ | Нужен автономный настольный поиск без отдельного сервера |
| Paperless-ngx | Серверная веб-DMS с полнотекстовым поиском | Импорт, OCR, теги, метаданные, архивирование и рабочие процессы | Веб-модель с пользователями и правами | Нужно не только искать существующие файлы, но и управлять жизненным циклом документов |
| Sumatra PDF | Локальный просмотрщик Windows без общего полнотекстового индекса архива | Быстрое чтение PDF, EPUB, DjVu и других форматов | Нет серверного поискового слоя | Документ уже найден и его нужно быстро открыть и читать |
Позиция Sumatra PDF здесь принципиально иная: это не конкурент поисковому серверу Recoll WebUI, а потенциальный конечный просмотрщик. WebUI отвечает на вопрос «в каком из тысяч файлов есть нужный фрагмент», а Sumatra — «как быстро открыть и прочитать найденный файл на Windows». Если не требуется индексирование всего архива, веб-сервис избыточен; если требуется, один просмотрщик задачу не решит.
Okular также остаётся сильным локальным просмотрщиком и аннотатором; его обзор есть на странице Okular. Paperless-ngx разумнее при входящем потоке сканов и необходимости OCR, тегов, прав и архивной дисциплины. Recoll WebUI выигрывает там, где документы уже организованы в файловой системе и переносить их в новую DMS не хочется.
Хронология развития и поддержки
| Дата | Событие | Практическое значение |
|---|---|---|
| 3 марта 2013 | Старый тег v1.18.1 | Показывает происхождение проекта, но не является актуальной базой для установки |
| 8 марта 2020 | Создан обновлённый проект medoc92/recollwebui на Framagit | Текущая линия отделена от давно не обновлявшегося репозитория Koniu |
| 15 июня 2022 | Пользовательские параметры получили настраиваемые defaults и сохранение в cookie | Администратор может задать исходную политику, пользователь — свои безопасные предпочтения |
| 13 мая 2026 | v2.0.0 и слияние адаптивного интерфейса | Это текущая стабильная контрольная точка |
| 14 мая 2026 | В master добавлено открытие/скачивание PDF с первой страницей совпадения и поисковым фрагментом | Для полной функции нужен API Recoll 1.44; возможность новее стабильного тега |
| 15 июня 2026 | Исправлен код PDF‑позиционирования, ломавший Download | Подтверждает, почему production лучше привязывать к проверенному тегу или конкретному коммиту |
WebUI развивается как небольшой слой рядом с Recoll, и их версии не движутся синхронно. При обновлении отдельно проверяйте Python API, Preview/Download, постоянные ссылки и доступ к индексу.
Карта критических зависимостей
| Зависимость | Роль | Что ломается без неё | Контроль |
|---|---|---|---|
| Индекс Recoll | Хранит поисковую базу | Нет результатов либо они устарели | Проверить обычный поиск Recoll и время последнего индексирования |
| Python 3 API Recoll | Связывает WebUI с движком | Приложение не импортирует recoll или не выполняет запрос | Тестовый импорт тем же интерпретатором и пользователем |
| Waitress/WSGI-сервер | Обслуживает HTTP | Браузер не подключается; встроенный Bottle ограничивает параллелизм | Проверить процесс, порт и журналы |
| Обработчики форматов | Извлекают текст при индексировании | Файл виден, но его содержимое не находится | Проверить pdftotext/OCR и журнал индексатора |
| Права файловой системы | Доступ к индексу и оригиналам | Поиск или Download/Preview возвращает ошибку | Запускать диагностику от имени веб-пользователя |
| Сопоставление путей | Связывает серверный путь с клиентским | Open ведёт в недоступное место | Настроить webui_mount либо использовать Preview/Download |
| Сетевой периметр | Определяет, кто видит WebUI | При слишком широком bind документы доступны лишним пользователям | Loopback по умолчанию, затем firewall, reverse proxy, HTTPS и аутентификация |
| RECOLL_TMPDIR | Хранит временные PDF для позиционирования | Накопление копий или проблемы с правами | Выделенный каталог, ограниченные права, периодическая очистка |
В этой схеме нет обязательного аккаунта у внешнего поставщика и нет облачного API, без которого перестанет работать поиск. Главные риски локальные: сломанный индекс, несовпавший Python‑модуль, недоступный путь или слишком широко опубликованный HTTP‑порт. Это делает систему хорошо контролируемой, но переносит ответственность за безопасность на администратора.
Инструкция по установке
Linux: автономный запуск
- Установите Recoll и его Python 3‑привязку. Для Debian/Ubuntu официальная инструкция использует пакеты recoll и python3-recoll.
- Настройте и постройте индекс средствами Recoll. До WebUI выполните контрольный запрос в обычном интерфейсе.
- Установите Waitress из репозитория ОС или в то Python‑окружение, которым будет запускаться WebUI.
- Получите официальный архив стабильного v2.0.0 на Framagit либо клонируйте проект и переключитесь на этот тег. Master берите только ради конкретной пострелизной функции или исправления.
- Запустите Python 3 с webui-standalone.py. По умолчанию приложение слушает 127.0.0.1:8080.
- Откройте http://127.0.0.1:8080 и повторите контрольный запрос.
Ключи -a, -p и -c задают адрес, порт и каталог конфигурации Recoll. Значение -a 0.0.0.0 публикует сервис на всех интерфейсах; используйте его только после настройки сетевого ограничения и внешней аутентификации.
Windows: установка WebUI
- Установите актуальный Recoll и совместимый 64‑битный Python; апрельская документация 2026 года перечисляет Python 3.10–3.13.
- Установите подходящий wheel Recoll Python API из Share/dist той же установки и проверьте импорт from recoll import recoll.
- Установите Waitress и получите WebUI с официального Framagit: через Git либо официальный ZIP.
- Запустите webui-standalone.py и сначала проверьте локальный порт 8080.
RECOLL_CONFDIR выбирает основной каталог конфигурации, RECOLL_EXTRACONFDIRS добавляет внешние индексы. Процесс WebUI должен иметь права чтения выбранного индекса и оригиналов.
Параметры, которые важно настроить сразу
- webui_maxresults. На общем сервере задайте конечный максимум вместо значения 0 без лимита.
- webui_dirdepth. При огромном дереве уменьшите глубину, если список Folder строится медленно или даёт ошибку.
- webui_perpage и webui_maxperpage. Ограничьте размер страницы, если пользователи могут менять его сами.
- webui_title_link. Выберите Download, Preview или Open как предсказуемое действие заголовка.
- webui_nosettings. Для фиксированного профиля можно скрыть пользовательские настройки.
- RECOLL_TMPDIR. Для PDF‑позиционирования назначьте отдельный каталог и политику очистки.
Автозапуск и безопасное удаление
В проекте есть пример systemd‑unit: перед установкой нужно исправить пользователя, путь, адрес и порт, затем проверить start/status и только после этого включать автозапуск. Для удаления остановите и отключите unit, удалите созданный файл сервиса и каталог WebUI; при WSGI‑варианте уберите конфигурацию веб‑сервера. Индекс и recoll.conf сохраняйте, если настольный Recoll остаётся нужен. На Windows достаточно остановить процесс и удалить каталог WebUI; общие Python‑модули удаляйте только если они больше нигде не используются.
Практические кейсы
Общий поиск по договорному архиву в локальной сети
Цель. Дать нескольким сотрудникам поиск по договорам на файловом сервере. Подготовка. Постройте индекс от сервисной учётной записи, проверьте PDF‑обработчики и расписание обновления, а WebUI разместите за внутренним обратным прокси с аутентификацией.
- Положите контрольный документ с редкой фразой и убедитесь, что его находит обычный Recoll.
- Запустите WebUI от пользователя с минимально необходимым чтением.
- Найдите фразу, ограничьте выдачу папкой и годом, проверьте Preview и Download.
Контроль. После индексации локальный и веб-поиск должны возвращать один контрольный документ. Ограничение. WebUI не добавляет ролевые права к самим файлам; разные зоны доступа лучше разделять индексами/процессами либо внешним приложением.
Поиск условия в большом PDF и переход к совпадению
Цель. Быстро найти формулировку среди сотен PDF. Подготовка. PDF должен иметь текстовый слой или пройти OCR. Переход к первой странице совпадения требует современного API Recoll 1.44 и версии WebUI с соответствующим пострелизным изменением.
- Введите фразу, при необходимости ограничьте папку и даты.
- По сниппету отберите подходящий результат и откройте Preview.
- Откройте PDF и сверьте страницу с контекстом выдачи.
Контроль. Фраза должна быть в документе, а новая функция — вести к первому совпадению. Ограничение. Firefox и Chrome по-разному используют PDF‑фрагменты; webui_pdfposition также создаёт временные файлы.
Экспорт перечня найденных документов
Цель. Получить таблицу соответствующих запросу документов. Подготовка. Убедитесь, что CSV/JSON не отключены и для широкой выборки установлен разумный maxresults.
- Сформируйте запрос и вручную проверьте несколько результатов.
- Скачайте CSV для таблицы либо JSON для скрипта.
- Сверьте число строк и несколько путей с браузерной выдачей; при необходимости измените webui_csvfields.
Контроль. Экспорт должен описывать ту же выборку. Ограничение. Это метаданные результатов, а не пакетная выгрузка PDF.
Один поиск по двум индексам
Цель. Искать одновременно в рабочем и архивном индексе. Подготовка. Оба индекса читаются веб‑процессом; дополнительный путь задан через RECOLL_EXTRACONFDIRS.
- Добавьте разные контрольные документы в две коллекции и обновите оба индекса.
- Запустите WebUI с основным и дополнительным каталогом конфигурации.
- Найдите уникальную фразу каждого документа и проверьте Preview/Download.
Контроль. Оба документа находятся из одной страницы. Ограничение. Права и mount‑сопоставления проверяются для каждого источника отдельно.
Навигатор по сбоям
| Симптом | Проверка | Причина | Действие |
|---|---|---|---|
| WebUI не находит известный документ | Тот же запрос в Recoll | Пустой/старый индекс или неверный RECOLL_CONFDIR | Исправить индекс до изменения веб-слоя |
| Ошибка импорта recoll | Импорт тем же Python | Нет совместимого API | Установить подходящий пакет/wheel |
| Поиск есть, Open не работает | Сравнить серверный и клиентский путь | file:// блокируется или путь не смонтирован | Preview/Download либо webui_mount |
| Медленный старт страницы | webui_dirdepth и дерево папок | Слишком глубокий список Folder | Уменьшить dirdepth |
| Запросы блокируют друг друга | Какой HTTP-сервер используется | Внутренний Bottle или один перегруженный процесс | Waitress либо несколько WSGI-процессов |
| Нет CSV/JSON | webui_nojsoncsv | Экспорт отключён | Включать только при допустимой политике данных |
| Растёт временный каталог | RECOLL_TMPDIR и rcltmp-файлы | PDF‑позиционирование создаёт копии | Настроить безопасную периодическую очистку |
Часто задаваемые вопросы
Recoll WebUI — это облачный сервис?
Нет. Это приложение на вашем сервере рядом с Recoll. Внешний интернет не нужен для обычного поиска; если доступ публикуется наружу, HTTPS и аутентификацию обеспечивает администратор.
Можно ли из браузера добавить папку в индекс?
Нет. Источники, расписание, исключения и OCR настраиваются в Recoll. WebUI лишь выполняет запросы к готовому индексу.
Редактирует ли Recoll WebUI PDF?
Нет. Он находит файл, показывает текстовый Preview и отдаёт оригинал. Для изменения страниц, форм и аннотаций нужен редактор, например Adobe Acrobat Pro.
Найдёт ли он текст в сканированном PDF?
Только если Recoll получил текст из существующего OCR‑слоя или настроенного распознавания при индексировании. Сам WebUI OCR не запускает.
Можно ли пользоваться с телефона?
Да, при сетевом доступе к серверу; v2.0.0 содержит адаптивные изменения. Это браузерный фронтенд, а не мобильное приложение Recoll.
Поддерживается ли поиск по русскому тексту?
Recoll использует Unicode UTF‑8 и работает с многоязычными коллекциями. Однако текущие подписи интерфейса WebUI английские, и штатного переключателя языка не заявлено.
Почему Preview работает, а Open — нет?
Preview обслуживает WebUI, а Open может вести на серверный путь. Если его нет на клиенте или браузер блокирует file://, используйте Download/Preview либо настройте сопоставление путей.
Что выбрать: v2.0.0 или master?
Для обычного развёртывания — стабильный v2.0.0. Master оправдан ради конкретного более нового исправления; тогда закрепите точный коммит и проверьте его на копии окружения.
Что экспортируют CSV и JSON?
Результаты поиска и настроенные метаданные, а не преобразованные документы. Оригиналы остаются в файловой системе.
Вывод
Recoll WebUI подходит тем, у кого уже есть файловый архив и нужен браузерный доступ к локальному полнотекстовому индексу без переноса документов в SaaS. Наиболее естественные сценарии — домашний сервер, исследовательская коллекция и внутренний архив отдела, где несколько рабочих мест используют общий Recoll.
Для одного компьютера настольный Recoll проще. Для входящего потока сканов, OCR, тегов, прав и жизненного цикла документов логичнее полноценная DMS. Для чтения уже найденного файла достаточно просмотрщика, а LibreOffice уместнее, когда документ нужно редактировать или экспортировать.
Главный компромисс — минимализм: WebUI сохраняет существующую файловую структуру, но требует самостоятельно решить аутентификацию, HTTPS, права, пути и обновление индекса. В ограниченной сети это рациональный веб-фронтенд к Recoll; как готовый публичный портал «из коробки» он не предназначен.