Elasticsearch: Exibir a versão do ES como parte de index.version nas configurações de índice

Criado em 19 abr. 2016  ·  3Comentários  ·  Fonte: elastic/elasticsearch

Descreva o recurso :

Atualmente, exibimos index.version.created nas configurações de índice como string de versão do Lucene, por exemplo. 1070199.

Para a maioria dos usuários/administradores finais, isso geralmente não é intuitivo, a menos que eles saibam verificar o mapeamento aqui .

    "settings" : {
      "index" : {
        "creation_date" : "1460617724303",
        "number_of_shards" : "5",
        "number_of_replicas" : "1",
        "version" : {
          "created" : "1070199"
        }
      }
    }

O index.version.created tornou-se mais útil à medida que fazemos alterações no produto. Por exemplo, com a alteração de fielddata para doc_values, é útil examinar a versão criada pelo índice para determinar se o índice foi criado em 1.7 (que é padronizado para fielddata). Observar a saída da API de mapeamentos não fornecerá mais essas informações em 2.x porque todos os campos são padronizados para valores de doc (portanto, se um campo mapeado não tiver uma configuração de doc_values ​​exibida na API de mapeamentos, ele está usando valores de doc em 2.x? Ou realmente usando fielddata porque o índice foi criado em 1.x). Uma maneira rápida de verificar será examinar o campo index.version.created. Na versão 5.0, acredito que também temos algumas estruturas de dados internas que não são atualizadas como parte do processo regular de mesclagem (ou atualização da API) e requerem a criação do índice na versão 5.0. Portanto, ter o index.version.created como uma string intuitiva para o usuário final será útil.

Por exemplo, podemos mostrá-lo como V_1_7_1 (1070199) em vez de apenas 1070199? Ou adicione outro campo em index.version mostrando o V_1_7_1 correspondente (se alterar o formato de index.version.created quebrará a compatibilidade com versões anteriores).

:CorFeatureStats :CorInfrREST API >enhancement discuss

Comentários muito úteis

O formato legível por humanos já faz isso, não é?

curl -XGET http://localhost :9200/{index_name}/_settings/?pretty

"settings": {
    "index": {
      "creation_date": "1461220754753",
      "number_of_shards": "5",
      "number_of_replicas": "1",
      "uuid": "drUys0-HSdGSyw5iuJeOzg",
      "version": {
        "created": "5000099"
      }
    }
  }

curl -XGET http://localhost :9200/{index_name}/_settings/?pretty&human

"settings": {
    "index": {
      "creation_date_string": "2016-04-21T06:39:14.753Z",
      "number_of_shards": "5",
      "creation_date": "1461220754753",
      "number_of_replicas": "1",
      "uuid": "drUys0-HSdGSyw5iuJeOzg",
      "version": {
        "created_string": "5.0.0",
        "created": "5000099"
      }
    }
  }

Todos 3 comentários

O formato legível por humanos já faz isso, não é?

curl -XGET http://localhost :9200/{index_name}/_settings/?pretty

"settings": {
    "index": {
      "creation_date": "1461220754753",
      "number_of_shards": "5",
      "number_of_replicas": "1",
      "uuid": "drUys0-HSdGSyw5iuJeOzg",
      "version": {
        "created": "5000099"
      }
    }
  }

curl -XGET http://localhost :9200/{index_name}/_settings/?pretty&human

"settings": {
    "index": {
      "creation_date_string": "2016-04-21T06:39:14.753Z",
      "number_of_shards": "5",
      "creation_date": "1461220754753",
      "number_of_replicas": "1",
      "uuid": "drUys0-HSdGSyw5iuJeOzg",
      "version": {
        "created_string": "5.0.0",
        "created": "5000099"
      }
    }
  }

O formato legível por humanos já faz isso, não é?

Sim. Obrigada.

Agradável! Não percebi que já fazemos isso através do parâmetro humano, seria bom que fosse o padrão, mas isso certamente é suficiente. THX!

Esta página foi útil?
0 / 5 - 0 avaliações