Demostración de cómo usar el paquete pg-search-sequelize para buscar una base de datos de películas y actores.
Pruebe la demostración de este ejemplo aquí.
Prerrequisitos: Docker. Si no desea usar Docker, deberá tener Postgres y Node.js 6.0.0 o más arriba instalado.
Para iniciar el servidor y la base de datos con Docker, ejecute:
. / init . sh Eso es todo. Ahora puede abrir su navegador y navegar a http://localhost:3000/ .
Prueba de búsqueda navegando a http://localhost:3000/film/x-men . Para filtrar sus resultados por año de lanzamiento, modifique su consulta a http://localhost:3000/film/x-men releaseYear:2003 . Tenga en cuenta que no codificamos el filtro de año de lanzamiento; Es proporcionado automáticamente por el paquete pg-search-sequelize .
Nuestra base de datos es muy simple; Solo tenemos 3 tablas: film , actor y film_actor . Usando pg-search-sequelize , creamos una vista materializada desde los datos de la película y el actor. Le damos a los nombres de la película el mayor peso, los detalles y el elenco obtienen un peso más bajo, y el resto de los detalles siguen en orden. El sistema de ponderación permite que nuestros resultados de búsqueda se clasifiquen por relevancia dependiendo de cómo lo configuremos. Debido a que le dimos a los nombres de las películas un orden superior que los nombres de elenco, una consulta de búsqueda de "Washington" produciría el resultado de la película "Washington Heights" antes "Man On Fire", ya que la primera tiene la consulta de búsqueda en el nombre de la película, mientras que el segundo la tiene en el elenco de la película.
Luego definimos nuestro modelo de vista materializado en /models y lo registramos con pg-search-sequelize para que obtengamos la funcionalidad de búsqueda.
Finalmente, exponemos dos API /film/:query y iniciamos el servidor Express en el puerto 3000 .
Si está interesado en usar este paquete en sus proyectos, diríjase a PG-Search-Sequelize.
Si hay algo que no le guste, o si tiene algún comentario o sugerencia, envíelos en la sección de asuntos de PG-Search-Secano