Démonstration de la façon d'utiliser le package pg-search-sequelize pour rechercher une base de données de films et d'acteurs.
Essayez la démo de cet exemple ici.
Prérequis: Docker. Si vous ne souhaitez pas utiliser Docker, vous devrez avoir installé Postgres et Node.js 6.0.0 ou plus.
Pour démarrer le serveur et la base de données avec Docker, exécutez:
. / init . sh C'est ça. Vous pouvez maintenant ouvrir votre navigateur et naviguer vers http://localhost:3000/ .
Recherche de test en naviguant vers http://localhost:3000/film/x-men . Pour filtrer vos résultats par année de sortie, modifiez votre requête sur http://localhost:3000/film/x-men releaseYear:2003 . Notez que nous n'avons pas codé dur le filtre de l'année de version; Il est automatiquement fourni par le package pg-search-sequelize :
Notre base de données est très simple; Nous n'avons que 3 tables: film , actor et film_actor . À l'aide de pg-search-sequelize , nous créons une vue matérialisée à partir du film et des données d'acteur. Nous donnons aux noms de film le poids le plus élevé, les détails et le casting obtiennent un poids inférieur, et les autres détails suivent dans l'ordre. Le système de pondération permet de trier nos résultats de recherche par pertinence en fonction de la façon dont nous le configurons. Parce que nous avons donné aux noms des films un ordre supérieur que les noms de casting, une requête de recherche de "Washington" donnerait un résultat du film "Washington Heights" avant "Man On Fire", car la première a la requête de recherche dans le nom du film tandis que la seconde l'a dans la distribution du film.
Nous définissons ensuite notre modèle de vision matérialisé dans /models et l'enregistrons avec pg-search-sequelize afin que nous obtenions la fonctionnalité de recherche.
Enfin, nous exposons deux API /film/:query et nous commençons le serveur express sur le port 3000 .
Si vous êtes intéressé à utiliser ce package dans vos projets, rendez-vous sur PG-Search-Se:
S'il y a quelque chose que vous n'avez pas aimé, ou si vous avez des commentaires ou des suggestions, veuillez les soumettre dans la section des problèmes de PG-Search-Séélange