ElasticSearch – Techno préférée du moment

ElasticSearch

J’ai découvert il y a un certain temps maintenant la technologie ElasticSearch, open source, utilisée par Foursquare et qui vient de faire une levée de fond de $10M.

Basé sur Lucene, ElasticSearch est un moteur de recherche très intéressant à plusieurs points de vue.

Basé sur du Json, vous pouvez lui balancer n’importe quelles données, ils fera toujours en sorte de les indexer en pré-mappant les valeurs. Si le champs est un int, il affectera automatiquement le mapping.

Il m’est souvent particulièrement utile pour balancer des gros volumes de données que je dois traiter et qui contiennent de l’indentation de donnée que je ne pourrais pas traiter avec une base de données classique comme Mysql.

En plus de cet aspect « élastique », le moteur est performant. Je l’utilise actuellement comme base pour les robots de crawl que je développe, et ormis les quelques contraintes qu’imposent un moteur de recherche, ils est particulièrement impressionnant et permet d’indexer des volumes de données impressionnant (je stocke le code HTML de toutes les pages, les liens trouvés, tous les headers, temps de réponse, url’s pré-parsées…).

Pour finir, il y a une communauté très importante autour du moteur de recherche et des clients dans a peu près tous les langages, nottamment node.js (personnellement, j’ai développé ma propre classe PHP que je publierais si ça en intéresse certains).

Le seul point un peu négatif que je pourrais lui trouver est la prise de tête constante pour réaliser les requêtes en query DSL qui est très tatillon sur la syntaxe.

A tester d’urgence !

Vous aimerez aussi...