Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13...

25
Александр Савин, Михаил Коровкин Разработчики отдела вертикальных сервисов Яндекс.Работа: Работа не волк Я.Субботник, Санкт-Петербург , 1 декабря 2012

Upload: others

Post on 22-Jun-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

Александр Савин, Михаил Коровкин Разработчики отдела вертикальных сервисов

Яндекс.Работа: Работа не волк

Я.Субботник, Санкт-Петербург, 1 декабря 2012

Page 2: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

пословица

Работа не волк, в лес не убежит

Яндекс.Работа

Page 3: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

3

http://rabota.yandex.ru/

или «Работа» в поиске Яндекса (Гугла ;)

Page 4: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

4

Мы рассчитывали на

• До 10^3 источников данных (Россия, Украина, Беларусь и Казахстан)

• До 10^7 вакансий • До 20% обновляется ежедневно (небольшая скорость)

• Аудиторию до 10^6 пользователей в день, • До 100rps на поисковый кластер • Рост 2х в год

Page 5: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

Как мы делали Back-end

Page 6: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

6

Extract, Transform, Load (ETL) процесс (Java)

Feeds  

Extrac,on  Unifica,on  

Index  

Clusteriza,on  

Search  

Index  

Но не все так просто

xscript  

Page 7: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

7

На схеме не отражены

• Фильтрация контента • Кэширование данных сторонних сервисов • Интеграция: Яндекс.Карты, Мой Круг • Раскладка индекса и балансировка • Сбор информации о компаниях • Колдунщики в поиске Яндекса (ого-го)

Частности позже, сейчас о том, как делали поиск

Page 8: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

8

Поиск вакансий: специфика

• Поиск по параметрам (зарплата, график работы)

• Поиск по тексту («такси», «1с», «с проживанием»)

• Желательно отсутствие пустых выдач • Региональность • Схожесть/дублирование объявлений

Page 9: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

9

Мы обернули Яндекс.Сервер

http://api.yandex.ru/server/ в Java

Можно использовать Sphinx

http://sphinxsearch.com

Но у нас 500 разработчиков рядом + морфология

Page 10: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

10

«хочю работать чтобы была хорошая зарплата»

company:”Газпром”+profession:”менеджер” +region:”Москва”+salary:150000

Используем предразбор запроса пользователя

Page 11: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

11

Разбор

• Учитывает, что поиск происходит в конкретной области

• Предполагается, что в конфликтной ситуации позволит выбрать лучшее решение («красный куб»)

• Легко локализируется («робота лiкарь») • Может не все знать («электрик 4 группа допуска»)

Page 12: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

12

Пример

нейтральное  

«работа водителем грузовика 1,5 тонны в москве»

профессия  

регион  

«работа в газпроме»

нейтральное   компания  

Page 13: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

13

Плюсы и минусы • Можем искать разными способами (по заголовку, по имени компании, с измененным регионом), но тратим ресурсы

• Поток запросов с Яндекса – ищем сокращенно

• О! Кешируется («работа водитель» и «вакансии водитель срочно»)

• Ошибки? («работа насос») • Еще ошибки? Подвел менеджер? - Мониторим!

Page 14: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

14

Page 15: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

Французская пословица

Дьявол кроется в деталях

Частности

Page 16: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

16

Детали

•  Чего же хочет пользователь?

•  Как повысить отказоустойчивость?

•  Как обрабатывать данные быстрее?

•  Как снизить число пустых выдач?

Page 17: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

17

Релевантность

релевантность = зарплата + популярность компании + дата создания + полнота описания +

Page 18: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

18

Я.Метрика

Количество кликов с 1-ой страницы увеличилось на 12%

Page 19: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

19

Барьер

Indexer  

Мой  Круг  Геоданны

е  

External  service  №1  

External  service  №2  

External  service  №3  

Index  

Page 20: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

20

Инкрементальная индексация

Feeds  

Index  

Indexer   DB  

New  Feeds  

Index  

Indexer   DB  

Old  Feeds  

all

raw

unified

new new raw

(new +

old) unified

~10%

~90%

all unified all unified

3 часа 8 часов

Full indexation Incremental indexation

Page 21: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

21

Динамические фильтры

Количество пустых выдач сократилось с 6% до 3%

Page 22: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

22

Динамические фильтры - выбор метро

Page 23: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

23

Расширенный региональный запрос

CTR такой же, как и у «обычного» колдунщика

Page 24: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

24

Резюме • Поиск в конкретной области = базовые инструменты + свой напильник

• Часто плохой ответ – лучше, чем неответ • Кэшируйте • Следите за процессом • Лучше пользователю – лучше вам! • Будьте готовы к любым падениям и изменениям

• Не делайте одну и ту же работу дважды

Page 25: Яндекс Работа не волкcache-ash01.cdn.yandex.net/download.yandex.ru/company/...13 Плюсы и минусы • Можем искать разными способами

25

Александр Савин @samehome

[email protected]

Михаил Коровкин @MKorovkin