Search architecture revamp

Bài tóm tắt Grab 2022 3. Quy mô lớn Độ khó: Trung bình

Grab · 2022 · 3. Quy mô lớn · Độ khó: Trung bình — bài gốc

Bài ngắn, ở mức kiến trúc; không có số liệu quy mô hay hiệu năng. Phần relevance (nhận diện ý định, embedding) chỉ tóm tắt.

Bối cảnh

  • Trước 2021, search của Grab (Food, Mart) chỉ khớp văn bản qua inverted index, xếp hạng bằng trọng số viết cứng (khớp tên merchant luôn ưu tiên, kể cả khi người dùng rõ ràng tìm một món).
  • Trộn kết quả nhiều vertical (quảng cáo, Food, Mart) làm ở tầng Deliveries API, sau khi search trả về: rò abstraction và mất dữ liệu của bước recall khi xếp hạng chung.
  • Code cũ không có cấu trúc để thêm use case mới; mỗi use case search phải dựng lại.

Thay đổi chính

  • Luồng mới nhiều tầng: boosting (nhận diện ý định, mở rộng query) → multi-recall (nhiều cách lấy ứng viên: lexical, sau đó embedding, graph; và từ nhiều vertical) → ranking chung. Kết quả từ các vertical và các cách recall được xếp hạng cùng nhau trong search, không trộn ở tầng API nữa; quảng cáo xếp cùng kết quả tự nhiên theo độ liên quan.
  • Framework do nền tảng giữ + plugin do team service viết, ghép bằng cấu hình: team không có kinh nghiệm search vẫn dựng được luồng mới; plugin dùng lại được (plugin recall quảng cáo dùng cho search Food, Mart, universal...).

Bài học cho SWE

Liên quan