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 <?

Configurer Elasticsearch de manière optimale Read the English version Ce billet traite d’elasticsearch qui est un moteur de recherche très puissant. La plus grande difficulté que nous avons rencontrée est que nous ne savions pas comment bien configurer Elasticsearch pour obtenir des résultats de recherche pertinents. Mais commençons par le commencement. Par exemple, prenons une recherche “PC bon état” qui retournerait les résultats : Title : Mon astuce Description: Étalez la pâte et ajoutez un soupçon de fêta Title: PC assez vieux Description: Mais bonne configuration Title: Ordinateur bon état Description: Lorem ipsum dolor sit amet consectetur adipiscing elit Avec une configuration “basique” (pas de configuration spécifique ou même une mauvaise configuration), le premier résultat est pertinent pour Elasticsearch, nous verrons pourquoi plus tard. Comprendre comment Elasticsearch fonctionne signifie comprendre comment il indexe les documents, et comment il les retrouve. Les filtres basiques Le filtre worddelimiter Le filtre stopword

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

Monitoring avec ELK - ElasticSearch Logstash et Kibana | Desaille.fr Bonsoir à tous! On va tenter dans cette série d’articles de mettre en place un système de centralisation de logs autour de la stak ELK de chez ElasticSearch, c’est une suite de produits de zinzin avec de grosses possibilités et une facilité de mise en oeuvre qui semble assez déconcertante, elle est composé de trois produits : 1/ Elasticsearch : Pour le stockage et le requêtage des infos (noSQL et Lucene) plus d’infos ici.2/ Logstash : Pour la reception, le transport et le parsing des logs, plus d’info ici (anglais). 3/ Kibana : Interface web de très haute qualité qui permet le requêtage d’Elasticsearch via les webservices le traitement et la mise en forme des informations, je vous laisse taper « kibana dashboard » dans google images pour vous faire une idée… Mais bon… Je précise également que je découvre aussi le sujet, si y’a des connaisseurs je suis preneur de tout conseil et commentaires sur le sujet. Installation de la stack ELK : On installe le .deb d’ElasticSearch

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):

Vos logs passent la seconde avec ELK (ElasticSearch – Logstash – Kibana) Les logs, éléments indispensables à toute application quelle qu’elle soit pour suivre, analyser et comprendre ce qui se passe et pouvoir intervenir en conséquence. Oui mais quand on a un éco-système d’applications assez riche, avec plusieurs environnements et que l’on veut consulter les logs voici le scénario qui peut parfois se produire : Je veux consulter les logs de telle application développée par tel service, ok elles sont où les logs? Je vais demander à l’équipe qui a développé.Bon j’ai le nom de la machine et le chemin, zut je ne peux pas me connecter avec mon compte et je n’ai pas les accès. Après il faut se battre à coups de grep, cut, sort… pour rechercher ce que l’on souhaite pour au final se rendre compte que l’erreur vient d’une autre application tierce, et on recommence la recherche d’informations. Résultat vous perdez un temps infini à rechercher la bonne information au bon endroit. Si vous recherchez ELK sur un navigateur il se peut que vous arriviez sur ce résultat :

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:

How To Install Elasticsearch, Logstash, and Kibana (Elastic Stack) on Ubuntu 20.04 Introduction The Elastic Stack — formerly known as the ELK Stack — is a collection of open-source software produced by Elastic which allows you to search, analyze, and visualize logs generated from any source in any format, a practice known as centralized logging. Centralized logging can be useful when attempting to identify problems with your servers or applications as it allows you to search through all of your logs in a single place. The Elastic Stack has four main components: Elasticsearch: a distributed RESTful search engine which stores all of the collected data.Logstash: the data processing component of the Elastic Stack which sends incoming data to Elasticsearch.Kibana: a web interface for searching and visualizing logs.Beats: lightweight, single-purpose data shippers that can send data from hundreds or thousands of machines to either Logstash or Elasticsearch. In this tutorial, you will install the Elastic Stack on an Ubuntu 20.04 server. Prerequisites sudo apt update Output

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: