Skip to content

[Feature]: Вынести search-core в общий модуль и убрать расхождение между build и runtime. #12

Description

@minkinad

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

Сейчас нормализация и токенизация поиска продублированы в двух местах и уже немного расходятся по стоп-словам: scripts/build-search-index.mjs (line 112) и lib/search.ts (line 77)
Это значит, что индекс строится по одним правилам, а ищется по другим.

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

Целевая архитектура: общий пакет search-core с модулями normalize.ts, tokenize.ts, topic-matcher.ts, ranker.ts, index-format.ts. build-search-index использует его для генерации, а UI или API использует те же функции для запроса. Формат индекса должен быть versioned и содержать schemaVersion, generatedAt, contentHash.
Эффект: предсказуемая релевантность, меньше “магии” в поиске и намного легче тестировать ranking отдельно от UI.

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

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