Rechercher dans plusieurs Shaarli ?

Sur la chatroom Shaarli, et ailleurs, certains souhaiteraient développer une recherche full-text distribuée dans les différents Shaarli.

Une implémentation est même apparue (sur le site bananium).

Je n’ai rien contre l’idée. En fait, j’ai même plutôt tout pour ce genre d’idée … Mais l’implémentation qui lance une requête à mon petit shaarli à chaque fois qu’un utilisateur lance une recherche me paraît …. frustre ? et surtout terriblement impactante pour mon serveur.

Pourquoi ?

Parce que chaque recherche est lancée directement sur mon site. Et donc plus le site de recherche sera chargé, plus mon serveur sera chargé. Et ça, ça va vite l’amener au DoS (ben oui, c’est un bête NAS qui fait office de serveur chez moi, et croyez-moi, il n’est pas bien puissant). D’autant plus vite d’ailleurs, que les rechargements de selfoss suffisent quasiment à le mettre à genoux. Alors imaginez 20 utilisateurs qui font leur recherche en même temps.

Cela dit, je crois qu’en fait tout cela vient d’un bon vieux syndrôme NIH – voire même encore plus bêtement d’une méconnaissance de ce qu’internet contient.

Parce que, j’en parlais ce matin, des moteurs de recherche open-source facilement déployables, il y en a (seeks, par exemple).

Et des librairies de moteur de recherche open-source en PHP intégrables, il y en a aussi un paquet :

Et qu’est-ce que ça apportera, tout ça ?

Eh bien c’est simple : au lieu de lancer la recherche en temps réel sur ma machine, et donc de faire varier la charge de ma machine en fonction directe du nombre d’utilisateurs de la recherche, tous ces moteurs de recherche vont indexer mon site de façon régulière (pouf le cronjob, voire même le PushPullPubHub – enfin, le truc au nom façon PubPub), et surtout ils ne vont indexer mon contenu shaarli qu’une fois (par instance de moteur de recherche, évidement). Dans tous les cas, ça lissera bien la charge sur mon serveur, et en bonus je pourrai lui faire lire un robots.txt (le shaarli.txt n’existant pas encore).

_

Publicités

11 réflexions sur “Rechercher dans plusieurs Shaarli ?

  1. mmm… si la recherche de bananium se base sur RSS, alors il y a un cache. Peut-être que cela pourrait minimiser les choses ?
    Même chose pour les lecteurs RSS: C’est bien parce que mon serveur était martelé par ces logiciels que j’ai implémenté le cache RSS/ATOM.

    Cela réduit considérablement la charge CPU. Il faudrait juste voir si c’est suffisant.

  2. la solution d’oros (malgré les nombreux pb) s’inscrit exactement dans ce que je souahitais
    merci à lui

    je vous invite à lire ma page ou j’ai rajouté des arguments (apporté par riduidel)

  3. La fonctionnalité est super intéressante.
    Et la remarque très justifiée.
    Le problème de la recherche sur le flux rss

    On pourrait aussi faire une autre remarque sur Shaarlo lui même : l’ajout libre des flux rss me semble un « chouilla » extrêmement discutable : gros risque de contenu pourri genre SPAM / Pub / propos « déplacés » qui mériteraient de n’être jamais publiés sur son site shaarlo en provenance de shaarli de gens pas très rigolos… Bon … je sais qu’il y a des droits sur les fichiers, qu’il peut suffire de.. etc. .. C’est juste une remarque.

    • Je me suis fait la même réflexion et il est vrai que cette fonctionnalité ne fonctionne pas super bien encore. Il arrive que des shaarlis déjà suivis soient proposés à nouveau ainsi que ceux que l’on a déjà refusés.

      Ce qui serait bien, et ce n’est pas difficile à faire, d’avoir le lien cliquable pour vérifier que le shaarli proposé soit par vérolé.

  4. Hello !

    Je profite de passer sur cette page pour donner mon avis.

    Le but de shaarlo (par la le site shaarli.fr) est juste de faire une démo de l’outil (certes pour mon besoin perso c’est aussi mon flux principal). Évidemment, à tout instant quelqu’un peut virer la liste des flux ou faire un spam sur la recherche (ce n’est pas très grave dans la mesure où les données ne sont pas perdues d’une part et aussi parce que ces données ne sont que le reflet des shaarlis).

    Concernant l’accès à la page d’admin, bronco (warriordudimanche/jerrywham) a eu la gentillesse de fournir le code pour éviter un accès non contrôlé (par là un accès user/pwd). Ce code est actuellement sous la forme d’un module activable ou non (il n’est pas activé sur le site de démo pour des raisons évidentes).

    Pour revenir à la recherche fulltext. C’est sur que la recherche sans index (donc sans indexation) est contre performante si le nombre d’utilisateurs ou de données est important. Par contre dans le cas où un seul utilisateur utilise l’appli, je doute qu’il y ait un quelconque besoin de s’ennuyer à jouer avec du lucene ou compagnie, dans la mesure où un serveur Web ‘moyen’ est capable de manipuler des tableaux Php de plusieurs millions de lignes en quelques secondes, je ne pense pas qu’il ait du mal pour jouer avec 3000 fichiers xml (=10 ans de flux si on compte un flux par jour dans le cas de shaarlo). Après, même chose pour le cache, c’est sur que si le site est publique, ça deviendra vite un problème.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s