Cliente de Elasticsearch para Mac
Um console para requisições Query DSL e uma grade que lê cada índice como tabela e edita documentos por _id. Nenhum deles usa SQL: cada ação é uma requisição REST ao cluster.
Funciona em MacO driver é baixado na primeira vez que você escolhe Elasticsearch
Visão geral
- Linguagem de consulta
- Query DSL
- Driver
- Baixado no primeiro uso
- Conectar por
- Host e porta, SSL/TLS
- Porta padrão
- 9200
- Versão mínima
- 7.x, documentada
- iPhone e iPad
- Não abre
Conecte-se
Informe o host e a porta REST do cluster e escolha um Auth Method. Username & Password envia HTTP Basic. API Key envia o campo em um cabeçalho Authorization: ApiKey, portanto cole o valor encoded retornado por uma requisição de criação de chave de API. None serve para um cluster de desenvolvimento com a segurança desativada. Uma conexão acessa um cluster, portanto o formulário não tem um campo Database.
Novas conexões começam com SSL Disabled, que usa HTTP sem criptografia. Todos os outros modos usam HTTPS: Preferred e Required (skip verify) aceitam certificados autoassinados, enquanto Verify CA e Verify Identity os verificam. Elasticsearch 8.x ativa segurança e TLS por padrão, portanto um cluster 8.x geralmente exige HTTPS e credenciais.
Índices e o console Query DSL
O console aceita um método, um caminho e um corpo JSON opcional, como Kibana Dev Tools, por exemplo GET /orders/_search com uma consulta match. Os resultados da busca retornam como linhas, requisições _cat com format=json e outras respostas em arrays viram uma tabela, e qualquer outra resposta aparece como JSON formatado. O endpoint _sql não é acessível.
A barra lateral lista índices como tabelas e oculta nomes que começam com um ponto. As colunas vêm do mapping: campos de objetos são expandidos em caminhos com pontos, como address.city; um campo nested recebe uma coluna JSON para seu array e uma coluna por folha; e cada documento inclui _id, _index e _score.
Os filtros de coluna viram consultas term, range, wildcard, terms e exists, e a linha de filtro Raw SQL aceita sintaxe Lucene, como name:Widget, enviada como query_string. Ordenar um campo text usa seu subcampo .keyword quando o mapping inclui um.
As edições na grade viram chamadas REST identificadas por _id: _update para alterar um documento, _doc para criar ou excluir. Digite um _id em uma nova linha para nomear o documento. Altere um array nested pela coluna JSON; um valor digitado em uma de suas colunas de folha interrompe o salvamento, que informa a coluna e não envia nada.
Mappings
Os mappings são somente leitura no TablePro. Truncate não é oferecido, pois o equivalente mais próximo no Elasticsearch, _delete_by_query, é assíncrono e informa conflitos por documento; envie-o pelo console. Excluir um índice pela barra lateral envia a requisição DELETE mostrada na confirmação.
Exportação
Não há importação. Export lê um índice inteiro com point-in-time e search_after, sem ficar limitado à janela de resultados, e grava CSV, JSON ou XLSX.
iPhone e iPad
O app para iPhone e iPad não tem um driver de Elasticsearch. As conexões Elasticsearch sincronizadas de um Mac aparecem na lista, mas não abrem.
Limitações
- OpenSearch não é compatível.
- Aliases e data streams não aparecem na barra lateral. Use seus nomes no console.
- Túneis SSH não são compatíveis.
Perguntas sobre Elasticsearch
Posso paginar além da janela de resultados?
Sim. Paginar além da janela padrão do Elasticsearch passa a usar search_after com point-in-time. A troca acontece no limite padrão, portanto um índice com max_result_window reduzido apresenta um erro antes disso; aumente a configuração de volta ao padrão.
Por que ordenar por _id mantém as linhas na mesma ordem?
Elasticsearch não pode ordenar por _id nem por um campo text sem subcampo .keyword, portanto TablePro remove essa coluna da ordenação. Adicione um subcampo keyword ao mapping ou ordene por um campo keyword.
Baixe TablePro
Requer macOS 13 Ventura ou posterior