Usando Consultas de Percolação do Elasticsearch, Netflix Aperfeiçoa Buscas Reversas Eficientemente
Tags: elasticsearch, reversesearch, dataengineering, netflix
Published: 2024-05-10 14:00:27

## 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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/muw7n21tvs7o91pvxfk5.png)

## 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:

- [Campos de percolador: que podem ser usados para indexar consultas do Elasticsearch.](https://www.elastic.co/guide/en/elasticsearch/reference/current/percolator.html#:~:text=The%20percolator%20field%20type%20parses,to%20be%20a%20percolator%20field.)

- [Consultas de percolação: que podem ser usadas para determinar quais consultas indexadas correspondem a um documento de entrada.](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-percolate-query.html)