Top Banner
EXTRAÇÃO DE INFORMAÇÃO NO STACKOVERFLOW CAREERS Roberta Arcoverde / @rla4 .Net Architects Days 2014
28

Extração de informação no StackOverflow Careers

Dec 05, 2014

Download

Technology

Presented at DNAD 2014 (NetArchitects Days), in Sao Paulo, Brazil
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Extração de informação no StackOverflow Careers

EXTRAÇÃO DE INFORMAÇÃO NOSTACKOVERFLOW CAREERS

Roberta Arcoverde / @rla4.Net Architects Days 2014

Page 2: Extração de informação no StackOverflow Careers

/WHOIS ROBERTArecifensecientista da computação, UFPE, 2008mestre em informática, PUC-Rio, 2012participante do DNA desde 2008developer, Radix, 2010-2014full-stack web developer, Stack Exchange, 20141a mulher palestrando no DNAD :O :O :O

Page 3: Extração de informação no StackOverflow Careers

começou em 20083MM usuários registrados50MM visitantes únicos por mês2000-3000 hits por segundotop 50 sites mais acessados do mundo*

*segundo o Alexa. sei lá se é verdade. deve ser.

Page 4: Extração de informação no StackOverflow Careers
Page 5: Extração de informação no StackOverflow Careers

TUDO ISSO COM APENAS 9 SERVIDORES

Page 6: Extração de informação no StackOverflow Careers

350k usuários registrados (~200k com um perfil/CV)

~3000 vagas ativas/dia

Page 7: Extração de informação no StackOverflow Careers

PRINCIPAL OBJETIVOAjudar empresas diferenciadas a encontrar profissionais

também diferenciados(e vice-versa!)

Page 8: Extração de informação no StackOverflow Careers

...MAS AINDA SÃO MUITOS USUÁRIOS!

Page 9: Extração de informação no StackOverflow Careers

TAG ENGINE FOR THE RESCUE!Perguntas no StackOverflow são associadas a tags

Mesma ideia aplicada ao Careers, mas ao invés de perguntas erespostas, taggeamos CVs!

Page 10: Extração de informação no StackOverflow Careers

NEM SÓ DE TAG VIVE O CANDIDATO1. Como buscar por OSS? E por empregador?2. Mike and also Michael?3. Google and not Google?4. Por que este candidato foi retornado na minha busca?

Page 11: Extração de informação no StackOverflow Careers

CV == DOCUMENTO

Page 12: Extração de informação no StackOverflow Careers

ELASTICSEARCHEngine de análise, indexação e busca

Usa Lucene internamente

Restful API, document database (JSON)

Cluster de 3 servidores

Page 13: Extração de informação no StackOverflow Careers
Page 14: Extração de informação no StackOverflow Careers

"_source": { "cvId": 195731, "stackExchangeAnswersTags": [ "c#", "javascript", ".net" ], "likeTags": [ "c#", "programming-languages", "functional-programming", "compiler", "java", "haskell", "javascript", "tdd", "aspect-oriented", "asp.net-mvc" ], "projects": [], "yearsOfExperienceTags": [ "aop", "architecture", "asp.net", "asp.net-mvc", "c#", "html5", "iis", "javascript", "jquery", "knockout.js", "msbuild", "nunit",

Page 15: Extração de informação no StackOverflow Careers

HABEMUS DOCUMENTOSterm queries vs filters

contexto (snippets)

rankingmike == michael, ruby on rails == ror

...mas nada de busca avançada

Page 16: Extração de informação no StackOverflow Careers
Page 17: Extração de informação no StackOverflow Careers

CQLBuscas mais poderosas e flexíveis lembram do Google and not Google?

gmail search

google drive search

trello search

Page 18: Extração de informação no StackOverflow Careers

FINALMENTE, A 'ARQUITETURA'

Page 19: Extração de informação no StackOverflow Careers

CQLBoolean queries

Operadores específicos

Include/exclude

(c# or java) and not manager

education:(Stanford, MIT, Xavier's School for Gifted Yougsters)

ex:students,remote

Page 20: Extração de informação no StackOverflow Careers
Page 21: Extração de informação no StackOverflow Careers

IMPLEMENTAÇÃO(c# or java) and employer:microsoft

Page 22: Extração de informação no StackOverflow Careers

LEXERchar-buffering

(c# or java) and employer:microsoft

LPAREN Term OR RPAREN AND OperatorCOLON Term

Page 23: Extração de informação no StackOverflow Careers

PARSERtop-down, descendente recursivo

LPAREN Term OR RPAREN AND OperatorCOLON Term

Page 24: Extração de informação no StackOverflow Careers

CQL(c# or java) and

employer:microsoft

TERM QUERY"query":"((c# OR java)ANDexperienceName:microsoft)"

exclude:student

"must":["term": {"isStudent": { "value":"false" }} ]

Page 25: Extração de informação no StackOverflow Careers

FRESCURINHAS FINAISSYNTAX HIGHLIGHTING

AUTOCOMPLETE1-WAY BINDING

Page 26: Extração de informação no StackOverflow Careers
Page 27: Extração de informação no StackOverflow Careers

RESULTADOS LEGAISBUSCA FICOU > 30% MAIS RÁPIDA

NÚMERO DE CANDIDATE SEARCH SUBSCRIPTIONS DOBROU (!)

Page 28: Extração de informação no StackOverflow Careers

OBRIGADA :)