Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Mecanismos de
Busca com PHP +
MongoDB
Cronograma
1. Por que eu?
2. Conceitos fundamentais
3. MongoDB
4. PHP
5. Referências
6. Dúvidas
1 Por que eu?
1. 11 anos programando
2. 7 anos empreendendo
3. 3 mecanismos de busca no ar
4. luiztools.com.br
1 Por que eu?
1 Por que eu?
2 Conceitos Fundamentais
1. Fonte de Dados
2. Classificação
3. Indexação
4. Pesquisa
5. Atualização
2 Conceitos Fundamentais
2.1 Fonte de Dados
•carga de dados
•crawling
•SQL, etc
2 Conceitos Fundamentais
2.2 Classificação
•redes neurais
•machine learning
•rankings
•NoSQL?
2 Conceitos Fundamentais
2.3 Indexação
•normalização
•tagging
•inverted index
•stopwords, sinônimos...
•NoSQL!
2 Conceitos Fundamentais
2.4 Pesquisa
•normalização
•tagging
•inverted index
•stopwords, sinônimos…
•resultados
2 Conceitos Fundamentais
2.5 Atualização
•index rebuild?
•live update?
•Redis...
•MongoDB!!!
3 MongoDB
•mongodb.org
•free
•tenha RAM de sobra
•document oriented
•array fields
•indexed array fields
3 MongoDB
•subir servidor
C:mongodbserver3.xbin> mongod -dbpath C:mongodbserver3.xdata
/Applications/mongo-x/bin> ./mongod...
3 MongoDB
•carga de dados normalizada
use databaseName
custArray = [{"nome":"Luiz Júnior", "profissao":"Professor", "tags"...
3 MongoDB
•indexed array field
db.customers.createIndex({ "tags": 1 });
4 PHP
•baixar driver mongodb
$ git clone https://github.com/mongodb/mongo-php-driver.git
$ cd mongo-php-driver
$ git submo...
4 PHP
•php.ini
extension=mongodb.so
4 PHP
•conexão
$mongo = new MongoDBDriverManager( ‘mongodb://usuario:senha@servidor.mlab.com:23400/nomeDoBanco’);
4 PHP
• formulário
<html>
<head></head>
<body>
<form method=”GET” action=”pesquisa.php”>
<p><label for=”txtPesquisa”>Pesqu...
4 PHP
• pesquisa
$search = explode(' ', $_GET['txtPesquisa']);
$mongo = new MongoDBDriverManager('mongodb://localhost/luiz...
5 Referências
•post no site phprs.com.br
•posts no luiztools.com.br
•documentação mongodb.org
•documentação php.net
6 Dúvidas?
Mecanismo de busca PHP + MongoDB
Mecanismo de busca PHP + MongoDB
Mecanismo de busca PHP + MongoDB
Upcoming SlideShare
Loading in …5
×

Mecanismo de busca PHP + MongoDB

887 views

Published on

Aprenda os fundamentos de mecanismos de busca e como criar um, simples porém eficiente, com PHP e MongoDB. Mais informações em luiztools.com.br

Published in: Internet
  • Be the first to comment

Mecanismo de busca PHP + MongoDB

  1. 1. Mecanismos de Busca com PHP + MongoDB
  2. 2. Cronograma 1. Por que eu? 2. Conceitos fundamentais 3. MongoDB 4. PHP 5. Referências 6. Dúvidas
  3. 3. 1 Por que eu? 1. 11 anos programando 2. 7 anos empreendendo 3. 3 mecanismos de busca no ar 4. luiztools.com.br
  4. 4. 1 Por que eu?
  5. 5. 1 Por que eu?
  6. 6. 2 Conceitos Fundamentais 1. Fonte de Dados 2. Classificação 3. Indexação 4. Pesquisa 5. Atualização
  7. 7. 2 Conceitos Fundamentais 2.1 Fonte de Dados •carga de dados •crawling •SQL, etc
  8. 8. 2 Conceitos Fundamentais 2.2 Classificação •redes neurais •machine learning •rankings •NoSQL?
  9. 9. 2 Conceitos Fundamentais 2.3 Indexação •normalização •tagging •inverted index •stopwords, sinônimos... •NoSQL!
  10. 10. 2 Conceitos Fundamentais 2.4 Pesquisa •normalização •tagging •inverted index •stopwords, sinônimos… •resultados
  11. 11. 2 Conceitos Fundamentais 2.5 Atualização •index rebuild? •live update? •Redis... •MongoDB!!!
  12. 12. 3 MongoDB •mongodb.org •free •tenha RAM de sobra •document oriented •array fields •indexed array fields
  13. 13. 3 MongoDB •subir servidor C:mongodbserver3.xbin> mongod -dbpath C:mongodbserver3.xdata /Applications/mongo-x/bin> ./mongod -dbpath /Applications/mongo-x/data
  14. 14. 3 MongoDB •carga de dados normalizada use databaseName custArray = [{"nome":"Luiz Júnior", "profissao":"Professor", "tags":["LUIZ","JUNIOR","PROFESSOR"]}, {"nome":"Luiz Fernando", "profissao":"Autor", "tags":["LUIZ","FERNANDO","AUTOR"]}, {"nome":"Luiz Tools", "profissao":"Blogueiro", "tags":["LUIZ","TOOLS","BLOGUEIRO"]}, {"nome":"Luiz Duarte", "profissao":"Blogueiro", "tags":["LUIZ","DUARTE","BLOGUEIRO"]}] db.customers.insert(custArray);
  15. 15. 3 MongoDB •indexed array field db.customers.createIndex({ "tags": 1 });
  16. 16. 4 PHP •baixar driver mongodb $ git clone https://github.com/mongodb/mongo-php-driver.git $ cd mongo-php-driver $ git submodule sync && git submodule update –init $ phpize $ ./configure $ make $ sudo make install
  17. 17. 4 PHP •php.ini extension=mongodb.so
  18. 18. 4 PHP •conexão $mongo = new MongoDBDriverManager( ‘mongodb://usuario:senha@servidor.mlab.com:23400/nomeDoBanco’);
  19. 19. 4 PHP • formulário <html> <head></head> <body> <form method=”GET” action=”pesquisa.php”> <p><label for=”txtPesquisa”>Pesquisa: <input type=”text” id=”txtPesquisa” name=”txtPesquisa” /></p> <input type=”submit” value=”Pesquisar” /> </form> </body> </html>
  20. 20. 4 PHP • pesquisa $search = explode(' ', $_GET['txtPesquisa']); $mongo = new MongoDBDriverManager('mongodb://localhost/luiztools'); $filter = ['tags' => ['$all' => $search ] ]; $query = new MongoDBDriverQuery($filter, ['sort' => [ 'nome' => 1], 'limit' => 5]); $rows = $mongo->executeQuery("luiztools.customers", $query); foreach ($rows as $row) { echo "$row->nome : $row->profissaon"; }
  21. 21. 5 Referências •post no site phprs.com.br •posts no luiztools.com.br •documentação mongodb.org •documentação php.net
  22. 22. 6 Dúvidas?

×