FluxSphinx, l’intégration de Sphinx dans FluxBB

FluxSphinx, l’intégration de Sphinx dans FluxBB

Il y a de cela quelques mois, nous avons rencontré des montées en charge sur Borsalino (l’ancien serveur de Fedora-Fr). Après enquête, il s’est avéré que la recherche de certains mots (ceux qui remontaient le plus de résultats) sur les forums faisait planter les sites en entrainant une charge sur le serveur MySQL. La sentence est vite tombée et nous avons été contraints de couper la recherche native sur les forums de Fedora-Fr et de basculer sur Google Custom Search Engine.

Avec l’arrivée de Stetson, le nouveau serveur mis à disposition par nos amis d’Ikoula, la question de remettre la recherche en place s’est posée. Cependant, je trouvais frustrant de répondre à un problème de conception (la recherche native de FluxBB bien que très efficace n’est pas adaptée aux grosses volumétries) par une course à l’armement (la RAM dans notre cas). Bref, je travaillais depuis quelques temps à l’implémentation de Sphinx pour FluxBB sous le nom de code FluxSphinx. Et depuis ce long week-end de Toussaint, FluxSphinx est en production sur les forums de Fedora-Fr et le code est disponible sur le site du projet.

A noter que la configuration permet d’inclure la librairie PECL compilée plus efficiente que l’API en php (que vous pouvez également utiliser).

Pour le moment FluxSphinx est Iso fonctionnel avec la recherche native de FluxBB, seul le tri par pertinence ainsi que le récapitulatif dans le résultat de la recherche le distingue de la recherche native.

Cette version 0.9 donnera naissance rapidement à une v1.0 lorsque les bugs éventuels auront été remontés et corrigés. Ensuite devrait arriver une version 1.1 avec l’arrivée de facettes.

Avatar de Guillaume Kulakowski

À propos de l’auteur

Derniers articles sur le journal

  • SeedboxSync v4.1 : Authentification OIDC, Gravatar et refonte de l’administration
    Découvrez les nouveautés de SeedboxSync v4.1 : intégration d’un système d’authentification natif et OIDC (SSO), support de Gravatar, gestion des utilisateurs en CLI, formulaires Flask-WTForm et transition vers Peewee-Migrate.
  • De Jellystat à Jellydash : moderniser le suivi de mon serveur Jellyfin
    Pourquoi et comment j’ai remplacé Jellystat par Jellydash pour le suivi des statistiques de mon serveur Jellyfin. Retour d’expérience sur la découverte de cet outil moderne, léger et prometteur repéré dans la newsletter selfh.st.
  • SeedboxSync 4.0 : Fusion de l’IHM et du CLI
    La v4.0.0 de SeedboxSync marque un tournant majeur : fusion du CLI et du frontend en une seule application, migration de la configuration en base de données, planificateur Python natif et passage à SQLite WAL. Tour d’horizon des nouveautés et des changements d’architecture.
  • Modernisation du tooling dev sur SeedboxSync : Just, pnpm, uv & Ruff
    SeedboxSync fait peau neuve côté tooling ! Retour sur la modernisation de mon environnement de dev : abandon du bon vieux Makefile au profit de Just, transition vers pnpm pour un gain de temps spectaculaire côté frontend, et adoption de uv et Ruff pour booster l’écosystème Python. Moins de friction, plus de vitesse : découvrez le détail de cette mise à jour.

Articles à la une