URL: https://linuxfr.org/users/j_m/journaux/crowd-sourcing-pour-le-nouveau-data-pipeline-de-linuxfr Title: Crowd sourcing pour le nouveau data pipeline de linuxfr Authors: j_m Date: 2018-07-22T14:49:40+02:00 License: CC by-sa Tags: moteur_de_recherche, dlfp et fonctionnalité_dlfp Score: 8 Bonjour'nal L'outil de recherche integre a linuxfr est decevant. La population linuxfr gronde, en temoigne ce journal: [computingfroggy/journaux/recherche-sur-dlfp](https://linuxfr.org/users/computingfroggy/journaux/recherche-sur-dlfp). Les reproches sont nombreuses: impossible de retrouver un article lu recemment. Une recherche sur 0ad. renvoie un article de 2009 comme premier resultat, une recherche par les tags omet des articles recents aleatoirement. Et il y a plein d'autres problemes. Certains utilisateurs desesperes se tournent meme vers "le grand mechant" ([ref](https://linuxfr.org/users/computingfroggy/journaux/recherche-sur-dlfp#comment-1744358)). Considerant tout ceci, je propose de crowdsourcer un nouvel outil de recherche. Outre la configuration d'un outil de recherche de texte tel que grep, Postgres ou ElasticSearch, il nous faut un data pipeline qui va scrawler linuxfr, parser les pages et les rendre traitable par notre outil de recherche. C'est par ce data pipeline que je propose de commencer. On pourrait l'ecrire dans le style pipes and filters qui fait la gloire d'unix. Chacun pourra s'attaquer au probleme qui lui plait le mieux dans le language qui lui plait. Il faut juste qu'on s'entende sur les interfaces pour faciliter la reutilisation des composants. Le pipeline sera compose de 3 executables distincts. Voici un exemple d'utilisation du data pipeline et les interfaces et les composants que je propose pour commencer. $ linuxfrReader -type "journal" -dateStart "2018-07-21" -dateEnd "2018-07-22" | pageParser | documentWriter * linuxfrReader: * [input]: - type: type de document a rapatrier. journal, forum, depeche - dateStart: date minimale du document a lire - dateEnd: date maximale du document a lire * [output]: - texte, json - utf-8 - un document par ligne (pour le traitement en flux continu) - exemple: ```javascript { "type": "journal/depeche/forum/lien", "date": "YYYY-MM-DD", "html_content": "Full content" } ``` * pageParser: * [input] = output de linuxfrReader * [output]: - json - utf-8 - un document par ligne ```javascript { "type": "journal/depeche/forum/lien", "date": "YYYY-MM-DD", "author": "j_m", "score": 21, "title": "Some title", "body": "corps de texte sans tag" } ``` * documentWriter: * [input] = output du pageParser * [output]: au choix * ElasticSearch * MySQL * Postgres Je ne sais pas si c'est tres important d'avoir un outil de recherche. Mais je suis curieux de voir si on peut crowdsourcer un developpement :-)