2 moteurs de recherche libres et décentralisés Seeks et Yacy 1/2

closeCet article a été publié il y a 12 ans 11 mois 2 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

La sortie de la version 1.0 de Yacy, m’a donné envie de tester à nouveau les moteurs de recherche libre. Cet article, en deux parties, vous propose mon retour d’expérience, pas encore très concluant.

Yacy moteur de recherche décentralisé pair à pairYacy

Yacy repose sur un mode de fonctionnement décentralisé. Il n’y a plus un portail de recherche unique, mais potentiellement presque autant que d’utilisateurs. Pourtant chaque instance de Yacy va pouvoir s’appuyer sur les autres pour améliorer ces capacités de recherche dans un mode de fonctionnement pair à pair. Yacy va en effet interroger les autres instances de Yacy pour compléter les résultats d’une recherche.

Yacy moteur de recherche décentralisé pair à pair

L’installation de Yacy est celle qui pose sans conteste le moins de soucis. Il faut cependant disposer au préalable d’une machine virtuelle Java pour permettre son fonctionnement. Sous GNU/Linux c’est OpenJDK6 qui est préconisé. Pour rappel, il s’agit d’une version libre du langage de programmation Java.

La configuration pour une utilisation « basique » est également assez simple. Une page permet de choisir entre trois modes de fonctionnement :

  • Un mode « recherche communautaire » qui rend votre instance de Yacy publique. Elle va alors participer à l’effort global de recherche et d’indexation. C’est le choix que j’ai fait pour l’installation opérée sur mon poste de travail. Attention dans ce cas il faudra, si votre connexion ADSL est configurée en mode « routeur » ajouté, une redirection de ports vers votre machine afin de recevoir les demandes des autres instances Yacy. Une manœuvre qui demande quelques connaissances.
  • Un mode Portail de recherche « restreint ». Dans ce cas seul les sites dont vous avez demandé l’indexation sont disponibles dans le moteur de recherche. Cela peut servir à concevoir des portails de recherche dédiés à une thématique particulière. Il n’y a pas de fonctionnement en mode pair à pair. Votre instance se contente d’indexer le contenu que vous lui indiquez et ne saura pas aller chercher des résultats ailleurs.
  • Un mode « Intranet ». Seul les pages de votre réseau local sont indexées.

Vous avez la possibilité de « forcer » l’indexation de certains sites en les soumettant à Yacy qui va alors les parcourir. Il est aussi possible d‘utiliser Yacy comme un « proxy« , en paramétrant votre navigateur web pour pointer sur un proxy configuré à l’adresse localhost (ou 127.0.0.1) et le port 8090 dans mon cas. Toutes les pages que vous visiterez seront alors indexées.

En ce qui concerne les résultats de recherche, je dirais que les résultats sont moins pertinents qu’avec Google. Mais je vais laisser le temps passer et soumettre à l’indexation des sites que je consulte régulièrement pour voir si à la longue je pourrais y trouver mon bonheur. Mais il est probable que Yacy soit en tout cas très bien adapté pour créer des portails de recherche spécialisés.

Il existe une extension pour améliorer l’intégration de Yacy dans Firefox. Mais à l’heure où j’écris cet article un message d’erreur signale que le fichier de l’extension est introuvable sur le serveur. J’ai signalé le problème en attendant de pouvoir tester et surtout vérifier la compatibilité avec mon Firefox 8.

Pour l’instant le souci que je rencontre est l’occupation mémoire de Yacy. Bien que configuré pour se limiter à 600Ko, et malgré les informations données dans le status système, le processus correspondant monte parfois à près de 1,6Go en consommant de plus en plus de CPU pour finir par se bloquer. Il faut alors le tuer et redémarrer l’instance, ce qui rend pour l’instant Yacy inutilisable sur ma machine. Un problème également signalé.

Pour l’instant, tout comme lors de mon premier test, je reste hélas sur ma faim. Pas mal de choses sont fort sympathiques dans l’application avec par endroit de réels efforts pour rendre le logiciel facilement utilisable sans toucher au paramétrage avancé. Je vous tiendrai au courant dans les commentaires des éventuelles solutions apportées à mon problème.

A suivre le test de Seeks

Philippe Scoffoni

Je barbote dans la mare informatique depuis 30 ans (premier ordinateur à 16 ans, un ORIC ATMOS) et je travaille à mon compte au travers de ma société Open-DSI. J'accompagne les associations, TPE et PME dans leurs choix et dans la mise en oeuvre se solutions informatiques libres.

8 réponses

  1. Elessar dit :

    Petite coquille : l’extension que tu mentionnes concerne Yacy et non Seeks comme tu l’as écrit.

  2. Guillaume dit :

    Bonjour,
    content de voir que Yacy gagne en visibilité.
    Et merci de souligner l’option qui permet à Yacy d’indexer les sites qu’on visite.
    J’ai malheuresement le même problème cpu sur ma machine, avec un netbook ça bloque très vite !
    Un autre souci c’est qu’il ne passe pas bien à travers les divers réseaux. En utilisation nomade/wifi, c’est assez aléatoire.
    Enfin, une fois ces obstacles surmontés, je m’intéresserais bien à intégrer Yacy à Firefox, en incluant l’option mentionnée…
    Je n’ai pas moi-même le niveau pour faire tout ça mais serai toujours prêt à tester.
    Quant à Seeks, je viens d’apprendre son existence à l’instant.

  3. Philippe dit :

    @Elessar Merci c’est corrigé

  4. David dit :

    Bonjour Philippe,

    Petites précision,
    – sur la redirection du port, en activant l’option upnp avec dd-wrt, par exemple, point besoin de s’arracher les cheveux. Ça se fait tout seul.

    J’ai limité la conso de mémoire à 256Mo sur 512. Pour le moment ça tourne.

  5. mael dit :

    Salut,
    Quand tu dis « Bien que configuré pour se limiter à 600Ko » (ça ne serait pas 600Mo, déjà ?), qu’est ce qui est configuré pour se limiter à ça ? Il faut savoir que souvent, en java, on règle la taille de la heap memory. Cette heap memory ne contient que les objets créés par l’application, et ne limite pas l’utilisation de RAM du processus java.
    Donc en gros, si tu limites la heap size à 600Mo, l’utilisation maximum de RAM, ça sera 600Mo + tout le reste (mémoire utilisée par la machine virtuelle).
    Alors, si l’application consomme énormément de « non-heap » memory, il y a certainement un problème, mais que java consomme plus de RAM que ce qui a été indiqué pour la heap (si c’est ce paramètre que tu as réglé), ce n’est pas anormal.
    De toute façon, la seule manière de résoudre le problème, c’est de faire un « profiling » de l’application. Je suppose que comme tu as reporté le problème, les développeurs vont s’en occuper.

    Mis à part ça, Yacy me semble intéressant, dans son principe. Il faudrait que je l’installe pour tester.
    Merci de le faire découvrir.

  6. Philippe dit :

    Oui 600Mo 🙂 !
    Dasn l’interface cela correspond à « maximum memory that the JVM will attempt to use ». Moi j’ai un process Java qui monte à plus de 1Go…
    Je suis en train de faire des tests, mais j’ai l’impression que le plantage provient quand j’utilise la fonction proxy de Yacy… Je viens de le relancer et je n’utilise plus le proxy.
    Pour l’instant côté support j’ai proposé mes logs car je ne comprend rien à ce qui est dedans, mais personne n’a proposé d’y jeter un coup d’oeil pour l’instant.

  7. mael dit :

    J’ai téléchargé Yacy, et je l’ai démarré.
    Et en effet, la taille indiquée (600Mo) correspond non pas à la mémoire maximum que la JVM va utiliser, mais la taille maximum de la heap.
    J’essaierai de le faire tourner en mode « proxy », pour voir si ça me fait la même chose au niveau CPU.

  8. Philippe dit :

    Yacy tourne depuis ce matin mais sans utiliser le proxy et pour l’instant il fonctionne toujours. Le process est à 800Mo… To be continued 🙂