Skip to content

[Feature]: Перевести поиск из монолитного клиентского JSON в chunked/hybrid backend-search. #13

Description

@minkinad

Проблема Или Возможность

Сейчас страница /ask после монтирования грузит весь search-index.json в браузер, а он уже весит примерно 1 МБ и будет расти: components/search/AskStackMirea.tsx (line 22), scripts/build-search-index.mjs (line 313).
Для 71 документа это терпимо, но дальше начнет бить по TTFB, памяти и мобильным устройствам.

Предлагаемое Решение

Целевая архитектура в 2 этапа. Этап 1, без отказа от GitHub Pages: разбить индекс на search-index/meta.json и search-index/.json, подгружать чанки по теме или по первым токенам запроса. Этап 2, если проект готов к динамике: вынести поиск в /api/search, где хранится предсобранный инвертированный индекс, а клиент получает только топ-N результатов и summary.
Эффект: заметно лучше UX и понятная эволюционная дорожка от stateless поиска к настоящему backend search service.

Область Изменения

No response

Рассмотренные Альтернативы

No response

Критерии Готовности

No response

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions