Skip to content

prog815/poisk

Repository files navigation

Poisk - Корпоративный поисковик для локальной сети

Репозиторий: https://github.com/prog815/poisk

GitHub Issues GitHub Discussions

🎯 Для кого эта система?

Poisk — это специализированное решение для поиска файлов в изолированных корпоративных сетях. Идеально подходит для:

  • ✅ Предприятий с ограниченным доступом к интернету
  • ✅ Организаций, где нельзя использовать облачные сервисы
  • ✅ Компаний с большим объемом файлов на сетевых дисках (200 000+ файлов)
  • ✅ Администраторов, которым нужен простой и эффективный поиск без серверов

✨ Основные возможности

  • 🔍 Быстрый поиск по именам файлов и путям
  • 📁 Избирательная индексация только нужных типов файлов
  • 📊 Полная статистика прямо в интерфейсе
  • 📋 Встроенная справка для пользователей
  • 🚀 Ежедневное обновление индекса
  • 💾 Все в одном файле — не требует серверных компонентов
  • 🖥️ Кросс-платформенность — работает на Windows и Linux
  • 🔒 Безопасность — все данные остаются внутри корпоративной сети

📦 Структура проекта

poisk/
├── 📄 README.md                    # Эта документация
├── 🐍 generate_search_page.py     # Основной скрипт генерации
├── 🎨 template.html               # HTML-шаблон интерфейса
├── 🎨 styles.css                  # Стили оформления
├── 📜 search.js                   # Логика поиска на JavaScript
├── 🔧 create_distribution.py      # Утилита создания дистрибутива
├── ⚙️ config.ini                  # Шаблон конфигурации
└── 📦 poisk_distribution.zip      # Готовый дистрибутив

🚀 Быстрый старт

1. Скачивание

Последнюю версию можно скачать из раздела Releases.

2. Установка администратором

# 1. Распакуйте архив в выбранную папку
# 2. Переименуйте файлы (удалите .txt расширения):
config.ini.txt → config.ini
generate_search_page.py.txt → generate_search_page.py
template.html.txt → template.html
styles.css.txt → styles.css
search.js.txt → search.js

3. Настройка конфигурации

Отредактируйте файл config.ini:

[PATHS]
scan_directories = \\server\share\docs:Документы, \\server\share\projects:Проекты
output_path = \\server\share\search.html
menu_file_path = \\server\share\menu.html  # опционально

[SETTINGS]
max_files = 200000
results_per_page = 10
file_extensions = pdf,doc,docx,xls,xlsx,ppt,pptx,txt
config_version = 1.0

4. Создание ярлыков

Для Windows (run_search.bat):

@echo off
cd /d "C:\путь\к\папке\с\системой"
python generate_search_page.py
pause

Для Linux (run_search.sh):

#!/bin/bash
cd /путь/к/папке/с/системой
python3 generate_search_page.py

👥 Руководство пользователя

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

  1. Откройте файл search.html в браузере
  2. Введите слова для поиска в строку
  3. Нажмите "Поиск" или клавишу Enter

Элементы интерфейса

  • 🔍 Строка поиска — вводите любые слова из названия файла или пути
  • 📁 Короткое имя каталога — показывает, в каком каталоге находится файл
  • 📂 Путь к файлу — кликните, чтобы открыть папку с файлом
  • 📄 Имя файла — кликните, чтобы открыть файл
  • 📊 Информация о базе — актуальная статистика индекса
  • ❓ Справка — краткое руководство по использованию

Что искать можно?

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

  • Документы: pdf, doc, docx, xls, xlsx, ppt, pptx, txt
  • Архивы: zip, rar, 7z
  • Исходный код: py, js, html, css, java, cpp, h

Список можно изменить в конфигурации.

🔧 Для администратора

Ежедневное обслуживание

  1. Запустите скрипт генерации через ярлык
  2. Проверьте вывод в консоли на наличие ошибок
  3. Обновленная страница появится по указанному в конфиге пути

Мониторинг работы

  • ✅ Проверяйте количество проиндексированных файлов
  • ✅ Следите за временем выполнения
  • ✅ Контролируйте размер итогового HTML-файла

🔄 Обновление системы

Если у вас уже установлена система:

  1. Сделайте резервную копию вашего config.ini
  2. Скачайте новую версию дистрибутива из репозитория
  3. Распакуйте в новую папку
  4. Скопируйте ваш config.ini в новую папку
  5. Протестируйте работу
  6. Замените старые файлы (кроме config.ini)

⚠️ Важно: Конфигурация администратора никогда не перезаписывается автоматически.

📊 Информация о системе

На странице поиска отображается:

  • 📅 Дата и время последнего обновления индекса
  • 📈 Общее количество проиндексированных файлов
  • 📁 Количество каталогов сканирования
  • 🔤 Поддерживаемые типы файлов (расширения)
  • 🏷️ Версия системы в подвале страницы

🛠️ Технические особенности

Архитектура

  • Python-скрипт — индексация файлов и генерация HTML
  • Единый HTML-файл — содержит всё: данные, стили, логику
  • Автономность — не требует подключения к интернету
  • Безопасность — работает только с локальными файлами

Производительность

  • Оптимизировано для работы с 200 000+ файлов
  • Быстрый поиск по предварительно построенному индексу
  • Минимальное потребление ресурсов браузером

🤝 Обратная связь и поддержка

Нашли ошибку или есть предложение по улучшению?

📄 Лицензия

Проект распространяется под лицензией MIT. Подробнее в файле LICENSE.


Система разработана для корпоративного использования в изолированных сетях.
Репозиторий проекта: https://github.com/prog815/poisk

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published