№32: Пошукова система Github
MP3•Головна епізоду
Manage episode 358727379 series 3361795
Вміст надано Денис, Ігор, Саша. Весь вміст подкастів, включаючи епізоди, графіку та описи подкастів, завантажується та надається безпосередньо компанією Денис, Ігор, Саша або його партнером по платформі подкастів. Якщо ви вважаєте, що хтось використовує ваш захищений авторським правом твір без вашого дозволу, ви можете виконати процедуру, описану тут https://uk.player.fm/legal.
🔞 Тут будуть матюки 🔞
Робочі посилання і коментарі в каналі https://t.me/midnight_chatter
- 0:00-2:50 Intro. Спеціалізовані і генералізовані системи пошуків.
- 2:51-9:12 Чому у Github була найгірша система пошуку? Натягуємо Elastic на код, який не є натуральною мовою. BM25 “на пальцях”. Ну і неймдропаємо Tf-Idf
- 9:13-12:26 Повертаємося до оригінального блогпосту. Як весь код вліз в 25Тб? І інші цифри для оцінки масштабу розміру пошукової бази
- 12:27-15:02 Які кола мікросервісів проходить ваш код перед тим, як потрапити в видачу пошуку? Самописні бази на такому швидкому і безпечному Rust, а також ліричні відступи з шеймінгом людей за спадок на Golang
- 15:03-22:26 Що в цій базі? Інвертовані індекси, щоб не лупати днями всі документи в циклі. Триграми з прикладами “📃” ➡️👨⚕️,うく,💦. Як ділити величезний індекс по різних серверах? Трохи про шардінг, але може краще почитайте “кабанчика”. PGTune
- 22:26-25:24 Як відбувається безпосередньо пошук?
- 25:25-30:17 Невеликі, здавалося б, оптимізації, які значно покращували все: мінімальне остовне дерево, k-мердж списків, … Зато за 36 годин все переіндексовують з нуля, як треба буде
- 30:18-34:25 На чому все це крутиться? І навіщо взагалі треба пошук по коду? Даєш ReversoContext для коду!
- 34:26-35:40 Outro
Долучайтесь до наших соцмереж:
- https://t.me/midnight_chatter
- Twitter @O_Balachky
- TikTok @o_balachky
Музика: https://www.streambeats.com/ | @stasgavrylov
42 епізодів