Skip to content

Instantly share code, notes, and snippets.

@corentinbettiol
Last active January 21, 2020 16:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save corentinbettiol/9314674cee1c1c09f7a9dbe268f41441 to your computer and use it in GitHub Desktop.
Save corentinbettiol/9314674cee1c1c09f7a9dbe268f41441 to your computer and use it in GitHub Desktop.

Les infos sur la recherche full-text

Via un soft externe

Directement via la bdd

Okay ça peut paraître bourrin. S'imaginer qu'on va récupérer 25.000 requêtes par seconde dans la base pour rechercher des trucs comme "déchetterie" ça peut faire peur.

Mais heureusement les devs de postgresql se sont un peu penchés sur la question, et ont implémenté quelques petites fonctions vachement intéressantes et qui rendent la chose faisable, pas trop lourde (pour un projet pas trop gros), et assez rapide (là encore pour un petit projet).

Postgresql

PostgreSQL has its own full text search implementation built-in. While not as powerful as some other search engines, it has the advantage of being inside your database and so can easily be combined with other relational queries such as categorization. (src)

Les pour et contre

stack aldryn_search <->haystack <-> solr

  • ✔️✔️✔️ Compatible avec haystack

    • Qui est lui-même ✔️ Compatible avec aldryn-search
  • ✔️ Recheche full-text

  • ✔️ Recherche de mots accentués

  • 🤔 Fuzzy search (en cours)

Solution "on fait un module de recherche qui utilise les capacités de postgresql à la main"

  • ✔️ Facile à faire (pour un module)
  • ✔️ Rapide à faire (pour un module)
  • ✔️ Accents & mots qui ressemblent """faciles""" à implémenter
  • ❌❌❌ Pas compatible avec djangocms-blog (enfin je sais pas vraiment comment faire, vu qu'on cherche directement dans la bdd il doit y avoir un moyen de restreindre aux champs "titre" + "auteur" + "date" + "contenu du post" depuis l'appli de recherche directement)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment