Construindo um searchengine
com Python e Elasticsearch
hmleal.github.io
@hmleal
globo.com
talentos.globo.com
Os sistemas de busca são as
fundações da internet
A maioria dos usuários olha para os sistemas
de busca como a maneira mais rápida para
encontrar a informação que procuram
80 mil pesquisas dia
3.207.684 milhões de documentos
* apenas G1
10 milissegundos
* Tempo médio de resposta
Um Anel para a todos governar,
Um Anel para encontrá-los
Um Projeto para a todos governar,
Um Projeto para encontrá-los
O projeto: Busca Globo
● python 2.7 :)
● Elastichsearch
O Elasticsearch é um servidor
de buscas distribuído baseado
no Apache Lucene.
API Rest simplificada
Indexando um novo documento
curl -XPOST http://localhost:9200/blog/articles/1
-d ‘{“content”: “Senhor dos anéis”}’
Indexando um novo documento
agora em python :)
import json
import requests
url = ‘http://localhost:9200/blog/articles/1’
document = {‘content’: ‘Senhor dos anéis’}
requests.post(url, data=json.dumps(document))
Suggest
localhost:9200/_suggest
Pré Suggest
localhost:9200/_suggestoes/
Python é uma linguagem de
programação de alto nível,
interpretada, de script, orientada a
objetos, de tipagem dinâmica e forte.
Foi lançada por Guido van Rossum em
1991
Bibliotecas usadas
Foco em suportar o maior número de requisições simultâneas
Eleições 2016
Search Rate: 8600/second
github.com/globocom/tornado-es
Perguntas

TDC2016POA | Trilha Python - Construindo um searchengine com python e elasticsearch