Introducció
Elasticsearch és un motor de cerca i anàlisi distribuït, de codi obert, dissenyat per gestionar grans volums de dades en temps real. És part de la suite Elastic Stack, que inclou altres eines com Kibana, Logstash i Beats. Elasticsearch és conegut per la seva capacitat de cerca ràpida, escalabilitat i flexibilitat.
Característiques Clau
- Distribuït: Elasticsearch està dissenyat per funcionar en un entorn distribuït, el que significa que pot gestionar grans volums de dades repartides en múltiples nodes.
- Escalabilitat: Pot escalar horitzontalment afegint més nodes al clúster.
- Cerca en Temps Real: Proporciona capacitats de cerca en temps real, permetent obtenir resultats immediats.
- API RESTful: Utilitza una API RESTful per interactuar amb el sistema, facilitant la integració amb altres aplicacions.
- Anàlisi i Agregacions: Permet realitzar anàlisis complexes i agregacions sobre les dades indexades.
- Alta Disponibilitat: Ofereix alta disponibilitat i tolerància a fallades mitjançant la replicació de dades.
Casos d'Ús
Elasticsearch és utilitzat en una àmplia varietat de casos d'ús, incloent:
- Cerca de Text Complet: Utilitzat per cercar text en grans volums de documents.
- Monitorització i Anàlisi de Logs: Amb la combinació de Logstash i Kibana, Elasticsearch és una eina poderosa per a la monitorització i anàlisi de logs.
- Anàlisi de Dades: Permet realitzar anàlisis de dades en temps real, útil per a aplicacions de business intelligence.
- Recomanacions: Utilitzat en sistemes de recomanació per analitzar i cercar dades de manera eficient.
Components Principals
- Node: Un node és una instància d'Elasticsearch que forma part del clúster.
- Clúster: Un conjunt de nodes que treballen junts per emmagatzemar i cercar dades.
- Índex: Un índex és una col·lecció de documents amb característiques similars.
- Document: La unitat bàsica d'informació que es pot indexar.
- Shard: Un índex es divideix en fragments (shards) per distribuir les dades i les càrregues de treball.
Exemple Pràctic
A continuació, es mostra un exemple bàsic de com indexar i cercar un document en Elasticsearch utilitzant l'API RESTful.
Indexant un Document
curl -X POST "localhost:9200/my_index/_doc/1" -H 'Content-Type: application/json' -d' { "title": "Introducció a Elasticsearch", "content": "Elasticsearch és un motor de cerca i anàlisi distribuït." } '
Cercant un Document
curl -X GET "localhost:9200/my_index/_search" -H 'Content-Type: application/json' -d' { "query": { "match": { "content": "cerca" } } } '
Exercici Pràctic
Exercici 1: Indexar i Cercar un Document
- Instal·la Elasticsearch seguint les instruccions del proper tema.
- Crea un índex anomenat
my_index
. - Indexa un document amb el següent contingut:
{ "title": "Aprenentatge d'Elasticsearch", "content": "Aquest és un document d'exemple per aprendre Elasticsearch." }
- Realitza una cerca en el mateix índex per trobar el document que conté la paraula "exemple".
Solució:
- Instal·la Elasticsearch.
- Crea l'índex:
curl -X PUT "localhost:9200/my_index"
- Indexa el document:
curl -X POST "localhost:9200/my_index/_doc/1" -H 'Content-Type: application/json' -d' { "title": "Aprenentatge d'Elasticsearch", "content": "Aquest és un document d'exemple per aprendre Elasticsearch." } '
- Realitza la cerca:
curl -X GET "localhost:9200/my_index/_search" -H 'Content-Type: application/json' -d' { "query": { "match": { "content": "exemple" } } } '
Conclusió
En aquesta secció, hem après què és Elasticsearch, les seves característiques clau, casos d'ús i components principals. També hem vist un exemple pràctic de com indexar i cercar un document. Aquestes bases ens preparen per aprofundir en la instal·lació i configuració d'Elasticsearch en el proper tema.
Curs d'Elasticsearch
Mòdul 1: Introducció a Elasticsearch
- Què és Elasticsearch?
- Instal·lant Elasticsearch
- Conceptes Bàsics: Nodes, Clústers i Índexs
- Arquitectura d'Elasticsearch
Mòdul 2: Començant amb Elasticsearch
Mòdul 3: Tècniques Avançades de Cerca
Mòdul 4: Modelatge de Dades i Gestió d'Índexs
Mòdul 5: Rendiment i Escalabilitat
- Optimitzant el Rendiment de la Cerca
- Escalant Elasticsearch
- Monitorització i Manteniment
- Còpia de Seguretat i Restauració
Mòdul 6: Seguretat i Control d'Accés
- Assegurant Elasticsearch
- Autenticació i Autorització d'Usuaris
- Control d'Accés Basat en Rols
- Auditoria i Compliment
Mòdul 7: Integracions i Ecosistema
- Elasticsearch amb Logstash
- Elasticsearch amb Kibana
- Elasticsearch amb Beats
- Elasticsearch amb Altres Eines