Комплексный фреймворк для тестирования возможностей Auto Embeddings и AI Search в Manticore Search 13.11.0 с поддержкой естественных запросов на русском языке.
- 🧠 Auto Embeddings - Автоматическая генерация векторных представлений
- 🔍 Семантический поиск - Поиск по смыслу, а не только по ключевым словам
- 🇷🇺 Русский язык - Оптимизация для русскоязычного контента
- 📊 Автотесты - 27 естественных запросов для оценки качества
- 📈 Детальная аналитика - JSON отчеты и метрики качества поиска
.
├── scripts/ # Скрипты автоматизации
│ ├── setup.sh # Настройка Docker-окружения
│ ├── import_data.sh # Импорт данных в индекс
│ ├── run_tests.sh # Запуск тестовых запросов
│ ├── search_nl.sh # Поиск по естественному запросу
│ ├── analyze_results.sh # Анализ результатов тестирования
│ └── health_check.sh # Проверка состояния системы
├── configs/ # Конфигурационные файлы
│ ├── manticore.conf # Конфигурация Manticore Search
│ └── connection.conf # Настройки подключения (автоген.)
├── data/ # Исходные данные (Markdown файлы)
├── output/ # Результаты тестирования
│ ├── *.json # Детальные отчеты в JSON
│ ├── *.txt # Сводные отчеты
│ └── documents/ # Индексные файлы Manticore
├── docs/ # Документация
└── logs/ # Логи выполнения
Поместите ваши файлы в папку data/. Поддерживаемые форматы:
- Markdown файлы (
.md) - основной формат для тестирования - Каждый файл должен содержать заголовок и контент на русском языке
- Имена файлов должны отражать их содержание для корректного тестирования
Пример структуры файла:
# Заголовок статьи
Содержание статьи на русском языке с подробным описанием темы...# 1. Настройка Manticore Search с Docker
./scripts/setup.sh
# 2. Импорт данных в поисковый индекс
./scripts/import_data.sh
# 3. Проверка работоспособности
./scripts/health_check.sh# Полное тестирование с 27 запросами
./scripts/run_tests.sh
# Просмотр результатов
cat output/test_summary_*.txt- Подготовьте файлы: Поместите
.mdфайлы в папкуdata/ - Запустите импорт:
./scripts/import_data.sh - Проверьте результат: Скрипт покажет количество обработанных файлов
# Поиск с форматированным выводом
./scripts/search_nl.sh "Ваш естественный запрос на русском"
# Поиск с JSON-выводом
./scripts/search_nl.sh --json "Ваш запрос"
# Поиск с ограничением результатов
./scripts/search_nl.sh --limit 5 "Ваш запрос"
# Подробный режим с отладкой
./scripts/search_nl.sh --verbose "Ваш запрос"# Технические вопросы
./scripts/search_nl.sh "Есть ли доступ по FTP?"
# Вопросы о функциональности
./scripts/search_nl.sh "Поддерживается ли мобильная версия?"
# Вопросы о безопасности
./scripts/search_nl.sh "Как защищены личные данные?"
# Альтернативные формулировки
./scripts/search_nl.sh "Можно ли получить пробную версию?"# Анализ последних результатов тестирования
./scripts/analyze_results.sh
# Просмотр детального JSON-отчета
jq '.' output/test_report_*.json | head -50- Docker 20.10+ установлен и запущен
- curl для HTTP-запросов
- jq для обработки JSON (рекомендуется)
- bc для математических вычислений
- Свободные порты: 9306 (MySQL API) и 9308 (HTTP API)
- Интернет-соединение для загрузки Docker-образа
Оптимизированная конфигурация для русского языка:
charset_type = utf-8- поддержка UTF-8morphology = stem_ru- русская морфологияsoundex = 1- звуковое сходство словexpansion_limit = 32- расширение поиска
- Размерность векторов: 384
- Индексирование: HNSW (Hierarchical Navigable Small World)
- Метрика сходства: Косинусное расстояние
- Автоматическая генерация: Для всех текстовых полей
- Excellent (90-100): Высочайшее качество, точные результаты
- Good (70-89): Хорошее качество, релевантные результаты
- Fair (50-69): Удовлетворительно, частично релевантные
- Poor (0-49): Низкое качество, нерелевантные результаты
- Response Time: Общее время выполнения запроса
- Search Time: Время поиска в индексе
- Total Results: Количество найденных документов
- Top Score: Максимальный рейтинг релевантности
# Проверка статуса Docker
docker info
# Остановка существующих контейнеров
docker stop $(docker ps -q --filter "name=manticore")
# Очистка и перезапуск
docker system prune -f
./scripts/setup.sh# Проверка занятых портов
lsof -i :9308
lsof -i :9306
# Завершение процессов, занимающих порты
sudo kill -9 $(lsof -ti :9308)# Проверка состояния индекса
./scripts/health_check.sh
# Повторный импорт данных
./scripts/import_data.sh
# Диагностика конкретного запроса
./scripts/search_nl.sh --verbose --json "ваш запрос"Отредактируйте scripts/run_tests.sh:
# Добавьте в массив TEST_QUERIES
"Ваш новый естественный запрос"
# Добавьте ожидаемый результат в get_expected_results()
"Ваш новый естественный запрос") echo "1" ;;Измените пороги качества в scripts/run_tests.sh:
# Отличные результаты (90+ баллов)
if [ "$total_results" -ge "$expected_count" ] && [ "$(echo "$top_score > 0.5" | bc -l)" = "1" ]; then
result_quality="excellent"- QUICKSTART.md - Запуск за 3 минуты
- docs/checklist.md - Контрольный список развертывания
- docs/examples.md - Примеры использования и команд
- docs/improvements_summary.md - Отчет об улучшениях
- Документация Manticore Search
- Auto Embeddings Guide
- Русская морфология
- Docker Hub - Manticore Search
# Полное развертывание и тестирование
./scripts/setup.sh && ./scripts/import_data.sh && ./scripts/run_tests.sh
# Быстрый тест одного запроса
./scripts/search_nl.sh "Ваш естественный запрос"
# Диагностика системы
./scripts/health_check.shOVERALL PERFORMANCE:
- Successful Queries: 27/27 (100.0%)
- Average Response Time: 90 ms
- Average Results per Query: 24
- Average Relevance Score: 90/100
SEARCH QUALITY ANALYSIS:
- Excellent Results: 27
- Good Results: 0
- Poor Results: 0
Быстрая диагностика:
# Проверка статуса
docker ps --filter "name=manticore"
# Логи системы
docker logs manticore-search-test --tail 20
# Перезапуск при проблемах
docker restart manticore-search-testПроект создан для демонстрации возможностей Manticore Search 13.11.0 с Auto Embeddings. Используйте как основу для ваших поисковых решений с поддержкой AI и семантического поиска.
Разработано в 2025 году для тестирования естественных запросов на русском языке.