DEV Community

Bruno Flegler Dal'Col
Bruno Flegler Dal'Col

Posted on

2 1

#009: Como definir um template para um índice

No artigo anterior #008: Como definir o mapeamento no Elasticsearch definimos um mapping diretamente no índice, porém podemos criar um template e criar o índice a partir dele. Essa estratégia é útil quando criamos índices temporais.

PUT /_template/customers
{
  "index_patterns": [
    "customers_*"
  ],
  "aliases": {
    "customers": {}
  },
  "mappings": {
    "properties": {
      "id": {
        "type": "text"
      },
      "age": {
        "type": "integer"
      },
      "email": {
        "type": "text"
      },
      "name": {
        "type": "text"
      },
      "createdAt": {
        "type": "date"
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

O campo index_patterns será usado para corresponder aos nomes dos índices durante a criação. Exemplo: customers_2022_02, customers_2022_03, uma vez que o nome do índice corresponde ao pattern customers_* o índice é criado com o mapping definido no template.

PUT /customers_2022_02
Enter fullscreen mode Exit fullscreen mode
GET /customers_2022_02/_mapping
{
  "customers_2022_02" : {
    "mappings" : {
      "properties" : {
        "age" : {
          "type" : "integer"
        },
        "createdAt" : {
          "type" : "date"
        },
        "email" : {
          "type" : "text"
        },
        "id" : {
          "type" : "text"
        },
        "name" : {
          "type" : "text"
        }
      }
    }
  }
}

Enter fullscreen mode Exit fullscreen mode

O campo aliases também é bem útil quando queremos buscar em todos índices criados a partir do template. Exemplo: customers_2022_02, customers_2022_03, podemos pesquisar em ambos índices utilizando apenas o nome customers.

GET /customers/_search
{
  "query": {
    "match_all": {}
  }
}
Enter fullscreen mode Exit fullscreen mode

Sua vez de praticar, te vejo em breve.

Image of Bright Data

High-Quality Data for AI – Access diverse datasets ready for your ML models.

Browse our extensive library of pre-collected datasets tailored for various AI and ML projects.

Explore Datasets

Top comments (0)

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay