Опівночні Балачки №32: Нова пошукова система Github
👁 Youtube - унос
🍎 Apple Podcasts – дуос
〰️ Spotify – трес
🎧 Інші платформи – кватро
Тайм-коди:
• 1: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
Ми в твітері o_balachky
Музика: streambeats | @stasgavrylov
Post #52
394