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

  1. 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.
  2. Escalabilitat: Pot escalar horitzontalment afegint més nodes al clúster.
  3. Cerca en Temps Real: Proporciona capacitats de cerca en temps real, permetent obtenir resultats immediats.
  4. API RESTful: Utilitza una API RESTful per interactuar amb el sistema, facilitant la integració amb altres aplicacions.
  5. Anàlisi i Agregacions: Permet realitzar anàlisis complexes i agregacions sobre les dades indexades.
  6. 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

  1. Node: Un node és una instància d'Elasticsearch que forma part del clúster.
  2. Clúster: Un conjunt de nodes que treballen junts per emmagatzemar i cercar dades.
  3. Índex: Un índex és una col·lecció de documents amb característiques similars.
  4. Document: La unitat bàsica d'informació que es pot indexar.
  5. 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

  1. Instal·la Elasticsearch seguint les instruccions del proper tema.
  2. Crea un índex anomenat my_index.
  3. Indexa un document amb el següent contingut:
    {
      "title": "Aprenentatge d'Elasticsearch",
      "content": "Aquest és un document d'exemple per aprendre Elasticsearch."
    }
    
  4. Realitza una cerca en el mateix índex per trobar el document que conté la paraula "exemple".

Solució:

  1. Instal·la Elasticsearch.
  2. Crea l'índex:
    curl -X PUT "localhost:9200/my_index"
    
  3. 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."
    }
    '
    
  4. 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.

© Copyright 2024. Tots els drets reservats