Nouveau moteur de recherche interne à LinuxFr.org

65
1
fév.
2012
LinuxFr.org

Jusqu'à présent, la recherche de contenus sur LinuxFr.org se faisait avec Google. Ce n'est plus le cas : nous avons maintenant notre propre moteur de recherche \o/. C'est une fonctionnalité qui était très demandée. Pour les utilisateurs pressés de l'utiliser, le champ de recherche est en haut à droite avec la feuille de style par défaut (« Entrer un mot-clé »). Il permet de rechercher sur tous les contenus de LinuxFr.org : dépêches, journaux, forums, sondages, pages de wiki et entrées de suivi.

D'un point de vue technique, ce moteur de recherche utilise Elastic Search et la gem Ruby Tire. Elastic Search est une interface REST (Representational_State_Transfer), sous licence Apache2, construit au dessus de Lucene. Il permet donc de profiter de la puissance des index Lucene, et notamment des facettes, en HTTP et JSON. Tire, de son coté, est une petite bibliothèque Ruby qui simplifie les requêtes d'indexation et de recherche à destination d'Elastic Search. Un autre avantage est qu'il est possible de profiter des opérateurs de recherche avancée de Lucene. Par exemple, "Elastic Search"^3 OR Google permet de faire une recherche sur la chaîne Elastic Search ou sur Google, mais en favorisant Elastic Search. Ce moteur est bien sûr perfectible (N'est pas Google qui veut !). Une première entrée a déjà été ouverte dans le système de suivi de LinuxFr.org. N'hésitez pas à y ajouter vos remarques de manière constructive.

Auparavant, comme mentionné plus haut, le champs de recherche renvoyait vers Google search. Pour la transparence, cela leur permettait de placer de la publicité et pour LinuxFr.org cela générait quelques petits revenus, en décroissance régulière cependant (moins de 100 $ par an désormais). Donc nous perdons une petite source d'argent (l'autre étant les dons ponctuels), mais nous gagnons désormais encore plus en indépendance.

Plus que de l'argent, ce dont LinuxFr.org a vraiment besoin pour vivre, c'est du contenu. Nous avons de sympathiques mécènes pour l'hébergement ou la motivation. Le meilleur moyen de nous aider est donc de contribuer. Merci à tous.

  • # Ça va troller

    Posté par (page perso) . Évalué à 9.

    Mais... mais... Lucene c'est en Java !

    Pour tester, étant une moule, j'ai bien sûr cherché "plop" et je n'ai pas été déçu. Il y a beaucoup de contributions très pertinentes :)

    L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

  • # best friture ever

    Posté par (page perso) . Évalué à 10.

    Bravo, le moteur de recherche était vraiment la fonctionnalité qui manquait à linuxfr, Google étant totalement inefficace pour ce site!

    http://devnewton.bci.im

  • # LinuxMag

    Posté par . Évalué à 10.

    Un volontaire pour écrire un article pour LinuxMag: "Débarrassez-votre site du moteur de recherche Google" ...

    • [^] # Re: LinuxMag

      Posté par . Évalué à 9.

      Ils ont répondu: ils prennent pas.

      Par contre ils demandent si y'a un projet de migration vers IIS sous Wine, parce que ça ferait un super article!

    • [^] # Re: LinuxMag

      Posté par (page perso) . Évalué à 10.

      Ça pourrait se faire ... si je trouve du temps pour ça. Par curiosité, ça intéresse des lecteurs de LinuxFr.org un tel article ?

      • [^] # Re: LinuxMag

        Posté par (page perso) . Évalué à 10.

        Oui. :)

      • [^] # Re: LinuxMag

        Posté par . Évalué à 5.

        Oui. Enfin, le lecteur que je suis.
        D'une façon, plus générale, un article sur Lucence, Solr ou Elastic Search, serait à mon sens très intéressant.

        • [^] # Re: LinuxMag

          Posté par . Évalué à 2.

          Pour Solr et Lucene y'a deja moulte documentation et deux bouquins de référence très bon.

          Pour être parti de 0 y'a pas longtemps, et avoir monté un service un tant soit peu plus compliqué que ce dont il y a besoin pour la plupart des sites web; je pense que les ressources existantes sont amplement suffisantes pour arriver a être productif très rapidement.

          • [^] # Re: LinuxMag

            Posté par . Évalué à 1.

            Après, pour moi, les articles me permettent de piquer un peu ma curiosité. Lire un article sur Lucene avec un peu de code de démo peut me donner envie de regarder un peu plus sérieusement. J'ai pas forcément le besoin ni l'envie de me lancer dans un projet avec Lucene. Là, par exemple, c'est en voyant la dépêche, que je me suis dit, ah, Lucene, j'aimerais regarder un peu.

            Cependant, je suis preneur des bouquins de référence ;-)

            • [^] # Re: LinuxMag

              Posté par . Évalué à 1.

              Après, pour moi, les articles me permettent de piquer un peu ma curiosité. Lire un article sur Lucene avec un peu de code de démo peut me donner envie de regarder un peu plus sérieusemen

              J'arrive pas à comprendre. Si t'as besoin de faire une fonctionnalité de recherche tu t'y intéresseras. Sinon je vois pas pourquoi perdre du temps sur un truc qui est inutile pour toi.

              Tu choisis tes technos en fonction de tes besoins. De toute facon dans un article de mag, t'auras pas grand chose d'autre que des trivialités à te mettre sous la dent.

              Cependant, je suis preneur des bouquins de référence ;-)

              Ils sont sur la page d’accueil du projet.

              http://lucene.apache.org/solr/

              • [^] # Re: LinuxMag

                Posté par . Évalué à 4.

                J'arrive pas à comprendre. Si t'as besoin de faire une fonctionnalité de recherche tu t'y intéresseras. Sinon je vois pas pourquoi perdre du temps sur un truc qui est inutile pour toi.

                La curiosité, la culture g, tout ça

                • [^] # Re: LinuxMag

                  Posté par . Évalué à 1.

                  Le truc c'est que t'en a pas besoin puisque tu vas pas t'en servir, et que les infos seront de toutes façon beaucoup trop légères pour faire quoi que ce soit de concret. Et le jour où tu voudras vraiment développer quelque chose qui tourne autours de la recherche free text, tu arriveras au niveau de l'article en quelques dizaines de minutes.

                  Les articles ça peut être sympa pour faire découvrir des choses qui pourraient passer inaperçues auprès des gens qui en ont besoin. Dans le domaine dont on parle ici, tu ne peux ni passer à côté de la techno, ni avoir plus d'information que les docs déjà existantes. Donc l’intérêt est assez limité.

                  • [^] # Re: LinuxMag

                    Posté par . Évalué à 2.

                    Pour lui je ne sais pas
                    Pour moi, quand un truc m'intrigue, je fais un projet poubelle: un mini site web ou une connerie du genre qui me permette de comprendre marche la techno (enfin vision purement externe).
                    Bon ça ne me rajoute pas une ligne sur le cv, et certains diront que je perds du temps. En fait je fais comme pour tout les howto qu'on trouve dans linux mag en fait

                  • [^] # Re: LinuxMag

                    Posté par . Évalué à 1.

                    Dans la plupart des cas, je ne met pas en pratique ce que j'ai appris dans les articles.
                    Il me permettre de découvrir d'autres choses dont je n'ai pas besoin a priori.

                    Je pense que sur Lucene, il y a des choses à dire et de quoi faire un article intéressant expliquant un peu la recherche par facette, le système de requêtage etc. et avec un exemple à la con avec quelques XML.

                    Un truc dans le genre de [1], que je viens de trouver après quelques minutes mais peut-être en plus complet.

                    [1] http://www.miximum.fr/tutos/347-recherche-a-facette-sous-solr

                    • [^] # Re: LinuxMag

                      Posté par . Évalué à 1.

                      Ca prend le même temps de lire http://wiki.apache.org/solr/SimpleFacetParameters ou le chapitre de Solr Enterprise Search. Sauf qu'en lisant les deux premiers tu as toutes les infos pour pouvoir faire quelque chose de ce dont on te parle, alors qu'avec le tutorial c'est joli mais tu peux rien en faire. Donc du coup tu devras quand même lire les deux ressources précédentes...

                      Ton tutorial il ne t'a pas mis le doigt sur quelque chose où tu aurais pu rater. Si tu voulais cette fonctionnalité tu serais forcement tombé dessus. Et techniquement il sert à rien. Bref ca fait beaucoup de bruit pour rien... Si tu veux juste parler du faceting tu peux diviser sa taille par 10 et virer toute la pseudo technique.

                      • [^] # Re: LinuxMag

                        Posté par . Évalué à 2.

                        Entre se dire « tiens je vais regarder tel techno », chercher de la doc, la lire, regarder quelques tutoriaux parce que la plupart sont trop court et/ou ne s'intéressent qu'à un point particulier (et sont souvent en anglais) et ainsi de suite pour chaque techno que tu peut imaginer et acheter un magazine, lire une série d'articles variés, en français et qui te présentent la techno avec un petit truc pour t'y mettre si tu veut commencer ou un peu d'explication pour que tu comprenne un peu mieu l'organisation de celle-ci ou que tu voie quelques aspects totalement anecdotiques mais qui peuvent te donner des idées ou élargir ta vision je sais ce que je prends.

                        Les logiciels sous licence GPL forcent leurs utilisateurs à respecter la GPL (et oui, l'eau, ça mouille).

                      • [^] # Re: LinuxMag

                        Posté par . Évalué à 1.

                        Ben, on attend juste pas la même chose d'un article ... J'attends souvent qu'il me donne des points d'entrée vers une technologie et quelque clefs pour comprendre (pour ma culture).
                        Si je sais que j'ai besoin de Lucene pour un projet en effet mon approche sera sans doute différente.

      • [^] # Re: LinuxMag

        Posté par . Évalué à 3.

        Oui. Je n'y connais pas grand chose en indexation. Est ce qu'il y a besoin de maintenir une seconde base de données. Quel charges ça représente en plus pour l'infrastructure (pas uniquement la ressources CPU et mémoire, mais aussi le stockage).

        Ça me semble intéressant et la problématique n'est pas si simple que ça quand on voit le nombre de sites qui utilisent google.

        Les logiciels sous licence GPL forcent leurs utilisateurs à respecter la GPL (et oui, l'eau, ça mouille).

        • [^] # Re: LinuxMag

          Posté par . Évalué à 2.

          Est ce qu'il y a besoin de maintenir une seconde base de données.

          Oui. T'as besoin d'un index pour chercher. Et cet index doit être conçu pour la recherche. Le concept de base, c'est de dénormaliser toutes tes infos pour tout mettre dans des documents à plat (un peu comme tu les affiches).

          Quel charges ça représente en plus pour l'infrastructure (pas uniquement la ressources CPU et mémoire, mais aussi le stockage).

          Très très variable en fonction des fonctionnalités que tu utilises et des détails d'implémentation. L'idée générale c'est que ca scale bien, que pouvoir chercher dans une information prend pas beaucoup de place, pouvoir ré-afficher l'information prend plus de place, et que ça bouffe de la RAM si tu veux que tu ais un tant soit peu de perf.

      • [^] # Re: LinuxMag

        Posté par (page perso) . Évalué à 3.

        Oui, mais faire le plus indépendant d'un langage particulier, ou en deux parties : genre "Infrastructure avec techno X" et "utiliser techno X avec langage Y".

        "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

        • [^] # Re: LinuxMag

          Posté par . Évalué à 2.

          C'est pour ca que la plupart des solutions viennent maintenant sous forme d'API REST (Solr, Elastic Search, Compass). Ces solutions clés en main suffisent à 99% des besoins, et n'impliquent que peu de couplage entre la techno utilisée pour implémenter le search et les codes clients. Les concepts sont génériques et je ne vois rien qui serait spécifique à un langage. C'est juste de la glue entre tes interfaces exposées et l'outil que tu utilises.

          Il faut avoir une bonne raison pour descendre à la couche du dessous (Lucene) et réinventer une bonne partie de la plomberie.

  • # trie ?

    Posté par . Évalué à 2.

    Quel est la fonction de trie entre les réponses ? pertinence ? google rank interne (nombre de lien pointant sur le contenu) ? en tout cas pas la date.

    "La première sécurité est la liberté"

    • [^] # Re: trie ?

      Posté par . Évalué à 3.

      selon mon dico

      tri /tʁi/ masculin
      Action de trier.

  • # Classement des résultats

    Posté par (page perso) . Évalué à 5.

    Y a t-il un paramètre pour obtenir des résultats classés par ordre (anté)chronologique ? Pour le moment, si je recherche Creative Commons, j'obtiens des résultats de 2002, 2004, 2006... et il faut passer du temps à tout parcourir avant de trouver quelque chose de récent. Ça serait d'ailleurs pas mal de pouvoir également lui préciser une année ou une plage temporelle bien précise.

  • # Mouais

    Posté par . Évalué à 3.

    J'ai comparé les résultats de recherche sur mon pseudo entre google et le nouveau moteur du site

    1 page trouvée vs 300
    Du coup je crois que je vais continuer à utiliser google

    • [^] # Re: Mouais

      Posté par (page perso) . Évalué à 10.

      On n'indexe pas encore les commentaires. Donc en cherchant le pseudo d'une personne n'ayant écrit quasiment que des commentaires, il est normal que Google retourne beaucoup plus de résultats que nous. Mais ça viendra.

    • [^] # Re: Mouais

      Posté par (page perso) . Évalué à 1. Dernière modification le 02/02/12 à 09:23.

      zut on peut éditer mais pas supprimer, le message au-dessus est plus pertinent :)

    • [^] # Re: Mouais

      Posté par . Évalué à 7. Dernière modification le 02/02/12 à 09:25.

      Cela dépend de l'usage et du nombre de résultats. J'ai testé avec des mots introuvables par l'ancien système : le moteur de recherche interne les trouve de suite, en moins de 2 minutes j'ai eu accès aux articles recherchés. La pertinence de la recherche explose celle de google pour ce site. Le bémol étant qu'il ne semble pas y avoir de recherches (du moins, de tri visuel) pour les commentaires, tel qu'il y en a pour {journal,dépêche,forum}. Mas les commentaires ayant, en général, un sujet "attaché" au sujet de l'entrée, on retrouve vite.

      La pertinence du moteur interne rends la recherche plus efficace, et pas seulement pour un seul mot clef, mais également pour une suite. Dans ce cas Google a du mal à présenter un ordre correct, tandisque le moteur interne semble prendre cela correctement.

      Bref, MERCI :-)
      On a enfin accès aux archives en moins de 20 minutes :-))

  • # ddg

    Posté par . Évalué à 1.

    par contre quand on fait !linuxfr recherche sur ddg, ca pointe encore sur le moteur google.

    A qui faut il demander de corriger, ddg ou linuxfr ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.