Поисковая система состоит из трёх частей: crawling, indexing, serving. Crawler обходит страницы, скачивает контент. Indexer строит inverted index — маппинг "слово → список документов". Search-сервер принимает запрос, токенизирует, ищет в индексе пересечение множеств документов по словам. Ранжирование — TF-IDF, BM25 или нейросетевые эмбеддинги. Индекс шардируется по документам. Для автокомплита — trie или prefix-индекс. Для typo tolerance — edit distance или n-gram индекс. В Go можно использовать Bleve для прототипа.
Как спроектировать search engine?
Senior
288 просмотровAFK Offer AI
Как реализовать rate limiter через каналы?