Upload
roberta-arcoverde
View
67
Download
0
Embed Size (px)
DESCRIPTION
Presented at DNAD 2014 (NetArchitects Days), in Sao Paulo, Brazil
Citation preview
EXTRAÇÃO DE INFORMAÇÃO NOSTACKOVERFLOW CAREERS
Roberta Arcoverde / @rla4.Net Architects Days 2014
/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
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.
TUDO ISSO COM APENAS 9 SERVIDORES
350k usuários registrados (~200k com um perfil/CV)
~3000 vagas ativas/dia
PRINCIPAL OBJETIVOAjudar empresas diferenciadas a encontrar profissionais
também diferenciados(e vice-versa!)
...MAS AINDA SÃO MUITOS USUÁRIOS!
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!
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?
CV == DOCUMENTO
ELASTICSEARCHEngine de análise, indexação e busca
Usa Lucene internamente
Restful API, document database (JSON)
Cluster de 3 servidores
"_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",
HABEMUS DOCUMENTOSterm queries vs filters
contexto (snippets)
rankingmike == michael, ruby on rails == ror
...mas nada de busca avançada
CQLBuscas mais poderosas e flexíveis lembram do Google and not Google?
gmail search
google drive search
trello search
FINALMENTE, A 'ARQUITETURA'
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
IMPLEMENTAÇÃO(c# or java) and employer:microsoft
LEXERchar-buffering
(c# or java) and employer:microsoft
LPAREN Term OR RPAREN AND OperatorCOLON Term
PARSERtop-down, descendente recursivo
LPAREN Term OR RPAREN AND OperatorCOLON Term
CQL(c# or java) and
employer:microsoft
TERM QUERY"query":"((c# OR java)ANDexperienceName:microsoft)"
exclude:student
"must":["term": {"isStudent": { "value":"false" }} ]
FRESCURINHAS FINAISSYNTAX HIGHLIGHTING
AUTOCOMPLETE1-WAY BINDING
RESULTADOS LEGAISBUSCA FICOU > 30% MAIS RÁPIDA
NÚMERO DE CANDIDATE SEARCH SUBSCRIPTIONS DOBROU (!)
OBRIGADA :)