background preloader

Tutoriel sur l'installation et la configuration d'ElasticSearch (partie 1)

Tutoriel sur l'installation et la configuration d'ElasticSearch (partie 1)
ElasticSearch est un moteur de recherche open source qui fait beaucoup parler de lui. Et pour cause, il possède un atout majeur : il suffit de quelques minutes à peine pour disposer d'un moteur de recherche clusterisé, automatiquement sauvegardé et répliqué, interrogeable via une API REST et proposant toutes les fonctionnalités d'un moteur de recherche dernière génération. Malgré une prise en main rapide et une documentation officielle très complète, l'utilisation d'ElasticSearch peut devenir rapidement complexe pour qui n'a jamais utilisé de moteur de recherche. C'est pourquoi nous avons choisi de démarrer une nouvelle série d'articles, dans laquelle nous allons essayer de présenter les notions de base d'ElasticSearch et les fonctionnalités les plus utilisées de ce fantastique outil. Dans cet article, nous verrons comment installer et configurer ElasticSearch. ElasticSearch est un projet open source développé en Java sous licence Apache2. II-A. II-B. $ cd elasticsearch-0.19.11/ $ . V-A.

Intégration d'Elasticsearch dans vos applications Symfony2 14 Commentaires La recherche est un domaine dans lequel les SGBD traditionnels sont particulièrement mauvais : pas d'agrégation ;lenteur proportionnelle à la taille des données ;pertinence complexe à calculer ;pas de scalling ;index à créer manuellement ; Et ça tombe bien, des logiciels dédiés à ces tâches existent : Lucene, Solr et le plus hype d'entre tous, Elasticsearch (ES pour les intimes). Il s'agit d'une application Java dans laquelle vous envoyez des documents JSON, et effectuez des recherches via une API REST avec des temps de réponses à faire rougir Usain Bolt. L'objectif de cet article est de vous initier à l'utilisation de FOSElasticaBundle, à ses subtilités et à son fonctionnement. Nous utilisons ici la version 3.0 du Bundle, qui n'est pas encore déclarée stable. Elastica et FOSElasticaBundle Elastica est un des meilleurs clients PHP pour Elasticsearch à ce jour1. FOSElasticaBundle est le Bundle le plus complet pour intégrer Elastica, il nous permet : Mettre en place le Bundle <?

Articles sur Elasticsearch | Obtao Read the English version Au cours de récents projets, nous avons été amenés à travailler sur des moteurs de recherche dans des domaines complètement différents : 2 moteurs de recherche multi-critères front-office (orientés utilisateurs)2 moteurs de recherche multi-critère back-office (orientés administrateurs)un moteur de statistiques (calculs, aggrégations, sommes, moyennes, …) Réaliser ces moteurs sur une base de données se serait révélé coûteux (en temps de développement mais aussi au niveau des performances) pour des résultats mitigés (aussi bien au niveau statistiques, qu’au niveau recherche “texte”). Pour cela, nous nous sommes tournés vers Elasticsearch : moteur de recherche basé sur Lucene. Ces articles vous expliqueront les besoins que nous avions mais surtout les solutions que nous avons pu apporter. En espérant que ces informations vous permettront d’avancer dans la compréhension de l’outil impressionnant qu’est Elasticsearch… La base ! Lire l’article Lire l’article

Intégrer Elasticsearch et Symfony2 | Hortis GRC Nous allons voir dans cet article comment nous pouvons ajouter une fonctionnalité de recherche avancée à Symfony2 en utilisant le moteur de recherche Elasticsearch. Prérequis Je considère en prérequis de ce post que vous avez déjà installé Symfony2 et Elasticsearch. Si vous n’avez pas encore installé Symfony2, vous pouvez vous référer à sa doc d’installation. Préparation du projet La base de données Pour illustrer la fonctionnalité de recherche, j’ai utilisé une base de données MySQL ultra simple composée d’une table recensant quelques données sur des fruits (nom, couleur, type et teneur en vitamine C), afin de mettre en évidence la gestion des facettes avec Elasticsearch. La partie symfony Une fois la base de données créée, il faut créer un bundle pour notre application de test. Il faut également modifier le fichier src/Hortis/DemoBundle/Resources/config/routing.yml afin de modifier les routes selon nos besoins (j’ai pris le parti d’utiliser des urls statiques du type /search/framboise):

I like my ElasticSearch a la Node.js - The Disco Blog While ElasticSearch is easy enough to work with via its RESTful HTTP API, there are myriad client libraries available in almost every conceivable programming language. If Node.js is your language of choice, then there’s at least two actively supported libraries available. My favorite is dubbed, albeit rather dully, ”Elastic Search Client”, but don’t let the library’s unimaginative name fool you: this is a handy library that allows you to do everything you could do via cURL with the added benefit of JavaScript callbacks. Best of all, you can use the Node Elastic Search Client in Coffeescript, which is a handy language that makes JavaScript less verbose and that ultimately compiles into JavaScript. Accordingly, if you’re familiar with the typical RESTful API calls for creating and mapping indexes, plus indexing and searching documents, then you’ll find Elastic Search Client easy enough to pick up. To get started, add the library as a dependency in your NPM package.json file like so:

Quelques bases pour préparer une indexation dans Elasticsearch Si le mapping dynamique d'Elasticsearch est utile pour pouvoir indexer et requêter des documents sans attendre, il est très rapidement utile de spécifier explicitement et plus finement la structure et le mode d'indexation des données en fonction des types de recherches envisagés. Pour cela, nos premiers outils seront les analyzers , les multi fields et les dynamic templates . Nous en ferons une succincte visite guidée. Introduction Elasticsearch étant extrêmement simple à mettre en place, on peut très rapidement profiter de la grande richesse des fonctionnalités qu'il propose. Mettons nous en route… Si Elasticsearch n'est pas encore installé sur la machine, nous pouvons l'installer en un rien de temps. $ # Installons ES et vérifions que tout est OK $ gem install desi && desi install 0.90.0 && desi start && desi status OK. Admettons que nous voulons indexer des billets de blog. Un billet de blog fascinant Commençons par un billet fort, marqué par des pensées provocantes et inspirées. Damned!

Getting Started with elasticsearch and AngularJS: Part1 - Searching The ability to deliver sophisticated client-side JavaScript applications is an important aspect of data discovery and visualization. It’s no secret that elasticsearch is phenomenal at extracting meaning from enormous data sets in near real-time. Exposing that power to end users requires equally impressive applications. Elasticsearch has made search more approachable by exposing Web friendly APIs (REST + JSON) that reduce the impedance mismatch associated with relational models, at no sacrifice to query capability. The goal here is to write a series of articles that help folks gain some insight into how these technologies fit together. Getting Started Loading Data Throughout the series, I’ll be using the StackOverflow data that Matt used in this post, which also describes how to aquire and load the data. Application Module Angular provides its own module system for loading and bootstrapping applications. // app.jsangular.module('demo', []); Creating a Search Controller Executing Searches <! <!

Related: