Demonstração de como usar o pacote pg-search-sequelize para pesquisar um banco de dados de filmes e atores.
Experimente a demonstração deste exemplo aqui.
Pré -requisitos: Docker. Se você não quiser usar o Docker, precisará ter o PostGres e o Node.js 6.0.0 ou acima do instalado.
Para iniciar o servidor e o banco de dados com o Docker, execute:
. / init . sh É isso. Agora você pode abrir seu navegador e navegar para http://localhost:3000/ .
Pesquisa de teste Navegando para http://localhost:3000/film/x-men . Para filtrar seus resultados por ano de lançamento, modifique sua consulta para http://localhost:3000/film/x-men releaseYear:2003 . Observe que não codificamos o filtro do ano de lançamento; Ele é fornecido automaticamente pelo pacote pg-search-sequelize .
Nosso banco de dados é muito simples; Temos apenas 3 tabelas: film , actor e film_actor . Usando pg-search-sequelize , criamos uma visão materializada dos dados do filme e do ator. Damos aos nomes dos filmes o peso mais alto, os detalhes e o elenco obtêm um peso mais baixo, e o restante dos detalhes seguem em ordem. O sistema de ponderação permite que nossos resultados de pesquisa sejam classificados pela relevância, dependendo de como configuramos. Como demos aos nomes dos filmes uma ordem superior do que os nomes de elenco, uma consulta de pesquisa de "Washington" renderia o resultado do filme "Washington Heights" antes "Man On Fire", já que o primeiro tem a consulta de busca no nome do filme enquanto o segundo o tem no elenco do filme.
Em seguida, definimos nosso modelo de exibição materializado em /models e registramos-o com pg-search-sequelize para que obtenhamos a funcionalidade de pesquisa.
Finalmente, expojamos duas API /film/:query e iniciamos o servidor Express na porta 3000 .
Se você estiver interessado em usar este pacote em seus projetos, vá até PG-Search-Sequelize.
Se houver alguma coisa que você não gostou, ou se tiver algum comentário ou sugestão, envie-os na seção de problemas da PG-Search-Sevelize