DEV Community

Alex Salgado
Alex Salgado

Posted on

1

Usando Consultas de Percolação do Elasticsearch, Netflix Aperfeiçoa Buscas Reversas Eficientemente

Você já ouviu falar de buscas de percolação, buscas reversas? Olha esse case da NetFlix usando Elasticsearch.

🎥🍿 No mais recente artigo do Netflix Tech Blog, a equipe técnica descreve como transformaram os desafios de notificações personalizadas em uma solução eficiente que economiza tempo e recursos. Utilizando buscas reversas, a Netflix pode agora identificar rapidamente quais consultas são satisfeitas por um novo documento, como a adição de um filme, e notificar automaticamente os funcionários sobre atualizações relevantes.

Esta abordagem não só melhora a eficiência interna mas também abre novas possibilidades para personalizar a experiência do usuário final. 🎥🍿

Image description

O que é uma busca reversa?

Normalmente, quando você faz uma busca na internet ou em um banco de dados, você tem uma pergunta ou critério específico e está procurando por respostas ou itens que correspondam a esse critério. Por exemplo, se você pesquisar "filmes de comédia" em um site de streaming, você está procurando por filmes que se encaixem na categoria de comédia.

A busca reversa é o oposto disso. Em vez de você ter a pergunta e procurar por respostas, você tem uma "resposta" e está procurando por todas as perguntas ou critérios que essa resposta satisfaz. Por exemplo, se um novo filme de comédia é adicionado ao catálogo, a busca reversa encontra todas as buscas salvas que deveriam incluir esse filme, como "filmes de comédia" ou "novos lançamentos".

Como a Netflix usa isso?

A Netflix usa essa técnica para enviar notificações personalizadas. Eles usaram o exemplo de uma funcionária da Netflix, chamada Tiffany, que é responsável por supervisionar vários filmes. Ela pode querer ser notificada sobre coisas específicas, como "filmes sendo filmados na Cidade do México que ainda não têm um diretor designado".

Ela não está inscrita para receber atualizações de filmes específicos, mas sim para tipos de atualizações que correspondem a certos critérios. Então, quando um filme é atualizado e agora se encaixa nos critérios de uma das buscas de Tiffany, ela recebe uma notificação automaticamente.

O que são consultas de percolação?

Para fazer isso de forma eficiente, a Netflix usa algo chamado "consultas de percolação" do Elasticsearch. Isso permite que a Netflix não apenas guarde as consultas de busca como se fossem documentos num índice, mas também verifique rapidamente novos filmes contra essas consultas para ver quais consultas eles satisfazem.

Por que isso é útil?

Esse método é super eficiente porque evita que a Netflix tenha que refazer todas as buscas salvas toda vez que um filme é atualizado para ver se ele agora se encaixa em alguma das buscas. Em vez disso, eles podem rapidamente verificar o filme contra as consultas salvas e ver quais notificações precisam ser enviadas. Isso economiza muitos recursos e tempo, tornando o sistema de notificação rápido e eficiente.

Quer saber mais sobre como isso funciona e as implicações dessa tecnologia? Leia o artigo completo no Netflix Tech Blog! (https://netflixtechblog.com/reverse-searching-netflixs-federated-graph-222ac5d23576)

Referências:

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Billboard image

Try REST API Generation for Snowflake

DevOps for Private APIs. Automate the building, securing, and documenting of internal/private REST APIs with built-in enterprise security on bare-metal, VMs, or containers.

  • Auto-generated live APIs mapped from Snowflake database schema
  • Interactive Swagger API documentation
  • Scripting engine to customize your API
  • Built-in role-based access control

Learn more

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay