mecanismo de busca php + mongodb

25

Upload: luiz-fernando-duarte-jr

Post on 14-Apr-2017

249 views

Category:

Internet


6 download

TRANSCRIPT

Page 1: Mecanismo de busca PHP + MongoDB
Page 2: Mecanismo de busca PHP + MongoDB
Page 3: Mecanismo de busca PHP + MongoDB

Mecanismos de Busca com PHP

+ MongoDB

Page 4: Mecanismo de busca PHP + MongoDB

Cronograma1. Por que eu?2. Conceitos fundamentais3. MongoDB4. PHP5. Referências6. Dúvidas

Page 5: Mecanismo de busca PHP + MongoDB

1 Por que eu?1. 11 anos programando2. 7 anos empreendendo3. 3 mecanismos de busca no ar4. luiztools.com.br

Page 6: Mecanismo de busca PHP + MongoDB

1 Por que eu?

Page 7: Mecanismo de busca PHP + MongoDB

1 Por que eu?

Page 8: Mecanismo de busca PHP + MongoDB

2 Conceitos Fundamentais1. Fonte de Dados2. Classificação3. Indexação4. Pesquisa5. Atualização

Page 9: Mecanismo de busca PHP + MongoDB

2 Conceitos Fundamentais2.1 Fonte de Dados

•carga de dados•crawling•SQL, etc

Page 10: Mecanismo de busca PHP + MongoDB

2 Conceitos Fundamentais2.2 Classificação

•redes neurais•machine learning•rankings•NoSQL?

Page 11: Mecanismo de busca PHP + MongoDB

2 Conceitos Fundamentais2.3 Indexação

•normalização•tagging•inverted index•stopwords, sinônimos...•NoSQL!

Page 12: Mecanismo de busca PHP + MongoDB

2 Conceitos Fundamentais2.4 Pesquisa

•normalização•tagging•inverted index•stopwords, sinônimos…•resultados

Page 13: Mecanismo de busca PHP + MongoDB

2 Conceitos Fundamentais2.5 Atualização

•index rebuild?•live update?•Redis...•MongoDB!!!

Page 14: Mecanismo de busca PHP + MongoDB

3 MongoDB•mongodb.org•free•tenha RAM de sobra•document oriented•array fields•indexed array fields

Page 15: Mecanismo de busca PHP + MongoDB

3 MongoDB•subir servidor

C:\mongodb\server\3.x\bin> mongod -dbpath C:\mongodb\server\3.x\data

/Applications/mongo-x/bin> ./mongod -dbpath /Applications/mongo-x/data

Page 16: Mecanismo de busca PHP + MongoDB

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);

Page 17: Mecanismo de busca PHP + MongoDB

3 MongoDB•indexed array field

db.customers.createIndex({ "tags": 1 });

Page 18: Mecanismo de busca PHP + MongoDB

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

Page 19: Mecanismo de busca PHP + MongoDB

4 PHP•php.ini

extension=mongodb.so

Page 20: Mecanismo de busca PHP + MongoDB

4 PHP•conexão

$mongo = new MongoDB\Driver\Manager( ‘mongodb://usuario:[email protected]:23400/nomeDoBanco’);

Page 21: Mecanismo de busca PHP + MongoDB

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>

Page 22: Mecanismo de busca PHP + MongoDB

4 PHP• pesquisa

$search = explode(' ', $_GET['txtPesquisa']);

$mongo = new MongoDB\Driver\Manager('mongodb://localhost/luiztools');$filter = ['tags' => ['$all' => $search ] ];$query = new MongoDB\Driver\Query($filter, ['sort' => [ 'nome' => 1], 'limit' => 5]);$rows = $mongo->executeQuery("luiztools.customers", $query);

foreach ($rows as $row) { echo "$row->nome : $row->profissao\n";}

Page 23: Mecanismo de busca PHP + MongoDB

5 Referências•post no site phprs.com.br•posts no luiztools.com.br•documentação mongodb.org•documentação php.net

Page 24: Mecanismo de busca PHP + MongoDB

6 Dúvidas?

Page 25: Mecanismo de busca PHP + MongoDB