Великий шёлковый путь: локализация AliExpress Россия. Часть 2: инфраструктура, поиск и рекомендации
Продолжаем рассказывать о локализации глобальной платформы AliExpress России. В этой части поговорим о системах, которые мы написали с нуля.
2К открытий2К показов
Продолжаем рассказывать о том, как мы локализуем глобальную платформу AliExpress, чтобы сделать счастливыми покупателей и продавцов из России и стран СНГ. В этой части поговорим о системах, которые мы написали с нуля.
Платформа поиска и рекомендаций
Поиск считается одним из самых технически продвинутых подразделений Taobao, да и сама платформа очень крутая: в ней есть сквозная 100% персонализация поиска, которая дает 10% от общих продаж. Кроме того, там есть state-of-art рекомендации, которые продают почти так же хорошо, как поиск.
Хоть платформа и отличная, но её применение в России «имеет огромный потенциал для улучшения».
Во-первых, основа поиска — это английский язык. То есть запросы сначала переводятся на английский, и уже потом ищутся в базе данных. Это существенно влияет на выдачу, и это хотелось бы пофиксить.
Во-вторых, многие очевидные для нашего языка вещи в Китае — advanced-лингвистика. Есть совершенно юмористический пример про длину запроса. Берём какой-нибудь российский маркетплейс, копируем описание любого телевизора и вбиваем в поиск. Не ищется. Почему? Потому что в китайском языке 30 иероглифов — это абзац текста.
Что мы сделали
Изначально у нас не оставалось выбора, кроме sabj. Elastic, который является, наверное, самым крутым open source поисковым движком, нам не подходил. 170 миллионов карточек и более двух миллиардов товаров — это больше данных, чем Elastic сможет переварить.
Нам очень помогли ребята из команды поиска VK, которые дали свой движок (кстати, очень классный). Но, к сожалению, он нам тоже не совсем подошёл в силу особенностей e-commerce, и пришлось переписать основной формат индекса.
Сначала мы запустили версию поиска, которая называется Balalayka — в ней китайский recall и русское ранжирование. Это было достаточно быстрое решение, которое позволило заметно улучшить качество поисковой выдачи. А затем мы начали тестировать релиз, который называется Samovar — уже с российским recall’ом. Уже на этапе тестирования он показал результаты на 5% лучше, чем Balalayka.
Как сейчас выглядит поиск:
Как видим, китайский поисковик по запросу «Apple» выдает яблочный сок. А российский — уже ожидаемые пользователем товары.
Платформа: инфраструктура
Технологии AliCloud
Технологии Alibaba в области инфраструктуры просто космические.
Например, есть штука, которая называется MaxCompute (aka ODPS) — Big Data платформа компании, объединяющая десятки тысяч машин. Это очень впечатляет — тот же hadoop не сможет поддерживать такое количество.
Кластер быстрый, удобный, и в него встроены Data Quality и трейсы происхождения данных. Что это значит? Допустим, у вас есть табличка, и ваша основная проблема — узнать, как и кем она сформирована. В MaxCompute есть скрипт, который запускается каждый раз, когда кто-то меняет данные в этой табличке. В метаданных сохраняется весь код, можно просто кликнуть и посмотреть его.
Еще стоит упомянуть tEngine — это поправленный nginx — и AsparaDB (внутри ALiSQL). Это некий автоматически скалируемый/шардируемый MySQL, что мало у кого есть.
В чём проблема
К сожалению, облако, в основном, заточено под Китай, и на нашем рынке про него известно мало.
Кроме того, у нас нет прав конфигурировать облако AliExpress Global. Конечно, мы можем сделать внутри AliCloud своё, и его конфигурировать. Но там не будет нужных нам данных. Поэтому мы сделали облако в своем дата-центре и работаем с ним.
Что ещё важно? Внутри Alibaba облако гораздо мощнее, чем кажется. Туда встроены разные процессы: управление правами доступа, CI/CD, управление инцидентами, баг-трекинг и так далее.
Всё это очень хорошо адаптировано под китайский рынок, но не всегда подходит для нас. Например, нам неудобно обращатся к специалистам в Китае каждый раз, когда нужно делать emergency релиз или проводить тестирование на staging.
Что мы сделали
У нас довольно простое решение. Общепринятые технологии: Kubernetes, Postgres, Kafka, Gitlab как CI/CD и Jira как трекер. 3 независимых машзала в разных дата-центрах. И интеграция дата-центров AliCloud и AER.
На последнем можно остановиться подробнее. Alibaba очень заботится о безопасности (поэтому, например, нельзя получить VPN в дата-центр компании). Так что, когда мы интегрировались с этим облаком, Alibaba воспринимала это, как входящий трафик снаружи.
В заключение
Конечно, подробно рассказать про такую большую штуку, как локализация AliExpress, в паре статей невозможно. Поэтому с большого овервью мы начинаем блог о том, как команда AliTech развивает сервисы для продавцов и покупателей в России и СНГ.
Следите за обновлениями!
2К открытий2К показов