-
Elasticsearch (j'ai pas réussi) -
Solr - Easy.
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 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)
- --->>> Doc django sur la recherche textuelle
- -->> Doc django sur la recherche full-text et postgresql
- -> Un post intéressant d'un gars qui a fait ce qu'on veut faire (intéressant parce qu'on voit du code d'une implémentation "à la main", en rajoutant du poids aux titres et en enlevant des descriptions, ...)
- Doc postgresql (dur à lire)
-
✔️✔️✔️ Compatible avec haystack
- Qui est lui-même ✔️ Compatible avec aldryn-search
- Qui est lui-même ✔️ Compatible avec djangocms-blog via
search_indexes.py
- Qui est lui-même ✔️ Compatible avec djangocms-blog via
- Qui est lui-même ✔️ Compatible avec aldryn-search
-
✔️ Recheche full-text
-
✔️ Recherche de mots accentués
-
🤔 Fuzzy search (en cours)
- ✔️ 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)