1
resposta

Segue modelo para quem estiver usando o Elasticsearch 7.x

Obs: No elasticsearch 7, nao se usa mais o nome como no exemplo "v1", por padrao usa-se "_doc", para todos.

Tambem nao suporta "string" por isso passei para "text"

O index somente recebe "true" ou "false".

PUT /produtos
{
  "settings": {
    "index": {
      "number_of_shards": 3,
      "number_of_replicas": 0
    }
  },
  "mappings": {
    "properties": {
      "nome": {
        "type": "text",
        "fields": {
          "original": {
            "type": "keyword"
          }
        },
        "analyzer": "portuguese"
      },
      "categoria": {
        "type": "text",
        "fields": {
          "original": {
            "type": "keyword"
          }
        },
        "analyzer": "portuguese"
      },
      "subcategoria": {
        "fields": {
          "original": {
            "type": "keyword"
          }
        },
        "type": "text",
        "analyzer": "portuguese"
      },
      "tags": {
        "fields": {
          "original": {
            "type": "keyword"
          }
        },
        "type": "text",
        "index": "true",
        "analyzer": "portuguese"
      },
      "fornecedor": {
        "fields": {
          "original": {
            "type": "keyword",
            "index": "false"
          }
        },
        "type": "text"
      },
      "preco": {
        "type": "float"
      }
    }
  }
}

POST /produtos/_doc/
{
  "nome": "Scala: Como escalar sua produtividade",
  "categoria": "Livros",
  "subcategoria": "Tecnologia",
  "tags": ["impresso", "digital", "scala", "programação funcional", "computação", "imutabilidade"],
  "fornecedor": "Casa do Código",
  "preco": 69.90
}

POST /produtos/_doc/
{
  "nome": "Big Data: Técnicas e tecnologias para extração de valor dos dados",
  "categoria": "Livros",
  "subcategoria": "Tecnologia",
  "tags": ["impresso", "digital", "larga escala", "computação"],
  "fornecedor": "Casa do Código",
  "preco": 49.90
}

POST /produtos/_doc/
{
  "nome": "A história do futebol brasileiro",
  "categoria": "Livros",
  "subcategoria": "Esportes",
  "tags": ["impresso", "digital", "esportes", "futebol"],
  "fornecedor": "Casa do Código",
  "preco": 59.90
}

POST /produtos/_doc/
{
  "nome": "Bola de futsal",
  "categoria": "Esportes",
  "subcategoria": "Futebol",
  "tags": ["futebol", "amador", "quadra"],
  "fornecedor": "Irmãos Silveira Esportes",
  "preco": 29.90
}

POST /produtos/_doc/
{
  "nome": "Camiseta Seleção Brasileira",
  "categoria": "Roupas",
  "subcategoria": "Esportes",
  "tags": ["futebol", "amador", "seleção", "amarelinha"],
  "fornecedor": "Irmãos Silveira Esportes",
  "preco": 129.90
}

POST /produtos/_doc/
{
  "nome": "Chuteira de Futebol",
  "categoria": "Calçados",
  "subcategoria": "Esportes",
  "tags": ["futebol", "amador", "campo", "amarelinha"],
  "fornecedor": "Irmãos Silveira Esportes",
  "preco": 129.90
}
1 resposta

Olá Ton, tudo bem?

Bem legal essa sua dica, poderá ajudar muitos alunos que estejam com dúvidas em relação a essas diferenças nas versões do Elasticsearch. Continue assim e bons estudos!