№32: Пошукова система Github
Manage episode 358727379 series 3361795
Το περιεχόμενο παρέχεται από το Денис, Ігор, Саша. Όλο το περιεχόμενο podcast, συμπεριλαμβανομένων των επεισοδίων, των γραφικών και των περιγραφών podcast, μεταφορτώνεται και παρέχεται απευθείας από τον Денис, Ігор, Саша ή τον συνεργάτη της πλατφόρμας podcast. Εάν πιστεύετε ότι κάποιος χρησιμοποιεί το έργο σας που προστατεύεται από πνευματικά δικαιώματα χωρίς την άδειά σας, μπορείτε να ακολουθήσετε τη διαδικασία που περιγράφεται εδώ https://el.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
47 επεισόδια