Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Implementação De Um Mecanismo De Busca Textual Na Plataforma Libreflix Usando Elasticsearch

Implementação De Um Mecanismo De Busca Textual Na Plataforma Libreflix Usando Elasticsearch

7c2d411a50aebddb0b6ace822be5da67?s=128

Guilmour Rossi

December 05, 2018
Tweet

Transcript

  1. Implementação De Um Mecanismo De Busca Textual Na Plataforma Libreflix

    Usando Elasticsearch Recuperação Inteligente da Informação Guilmour Rossi
  2. Introdução

  3. 3 Introdução

  4. 4 Introdução

  5. Elasticsearch

  6. 6 ElasticSearch • Servidor de buscas distribuído • Feito em

    cima do Apache Lucene • Buscas Full-Text • Orientado a documentos • Schema-Free • RESTful API • Escrito em Ja… va
  7. 7 Shards, Nodes, Clusters https://www.bogotobogo.com/Hadoop/ELK/ELK_Elastic_Search_Tutorial.php

  8. 8 Índices invertidos https://www.elastic.co/blog/found-elasticsearch-from-the-bottom-up

  9. 9 Relevância “Lucene (and thus Elasticsearch) uses the Boolean model

    to find matching documents, and a formula called the practical scoring function to calculate relevance. This formula borrows concepts from term frequency/inverse document frequency and the vector space model but adds more- modern features like a coordination factor, field length normalization, and term or query clause boosting.” https://www.elastic.co/guide/en/elasticsearch/guide/current/scoring-theory.html
  10. 10 Nível do Termo x Full Text

  11. 11 Nível do Termo x Full Text

  12. 12 GET http://localhost:9200/db/movies/_search { “query”:{ “bool”:{ “must”:{ “term”:{ “title”: “Matrix”

    } } } } } { “took”: 24, . . . “hits”: { “total”: 3, “max_score”: 3.4788452, “hits”:[ . . . ] } }
  13. Implementação ao Libreflix

  14. 14 Pré-requisitos Só temos 2GB :(

  15. 15 Libreflix • NodeJS • MongoDB 600+ filmes cadastrados 250+

    filmes disponíveis indexados por ora ← 20000+ contas de usuário
  16. 16 Mongo para ElasticSearch https://code.likeagirl.io/5-different-ways-to-s ynchronize-data-from-mongodb-to-elasticsearch-d 8456b83d44f - Dados que

    já estavam no banco. - Novos dados a serem inseridos https://github.com/yougov/mongo-connector https://github.com/compose/transporter
  17. 17

  18. 18

  19. Obrigado! Guilmour Rossi me@guilmour.org