Escolar Documentos
Profissional Documentos
Cultura Documentos
MongoDB
Apresentao
Conceitos Fundamentais
MongoDB
Node.js
Cronograma
Referncias
Dvidas
Cincia da Computao
Computao Mvel
Dev, analista, gerente...
11 anos programando
- 7 anos com mecanismos de busca
- 3 mecanismos no ar
- inmeros projetos
Conceitos Fundamentais
Fonte de Dados
Classificao
Indexao
Pesquisa
Conceitos
Fundamentais Atualizao
- Carga de dados
- crawling
- SQL
1. Fonte de
Dados
- redes neurais
- machine learning
- rankings
- NoSQL?
2. Classificao
- normalizao
- tagging
- inverted index
- stopwords, sinnimos
3. Indexao - NoSQL!
- normalizao
- tagging
- inverted index
- stopwords, sinnimos
4. Pesquisa - resultados
- index rebuild?
- live update?
- Redis
- MongoDB!
5. Atualizao
MongoDB
Onde baixo?
http://mongodb.org
- free
- tenha RAM de sobra
- orientado a documentos
- schemaless
- array fields
- indexed array fields
Subindo servidor:
C:\mongo\bin> mongo
db.customers.createIndex({"tags":1});
MongoDB
Node.js
Vantagens:
multiplataforma, veloz, escala, velocidade e baixo custo, web
full-stack, assncrono, V8 Engine, Javascript
Node.js Desvantagens:
single thread, Javascript
Cenrios de Usos:
APIs, bots, mensageria, real-time, games, collaboration tools
Quem usa?
Netflix, PayPal, LinkedIn, Groupon, Dow Jones, GoDaddy, 4all, etc
Tecnologias Concorrentes:
Node.js Go, Elixir e Scala
Onde baixo?
http://nodejs.org
Arquivos importantes:
Node.js bin/www, app.js e packages.json
Objetos importantes:
app, http, server
Instalando dependncia do EJS:
C:\nodejs\searchengine> npm i -S ejs
<!DOCTYPE html>
<html lang="en">
Node.js <head></head>
<body>
<center>
<h1> Search Engine </h1>
<form action="/search" method="get">
<input type="text" name="query" />
<input type="submit" value="Search" />
</form>
</center>
</body>
</html>
index.ejs: