Licença
Segurança
Elasticsearch é um mecanismo distribuído de pesquisa e análise, armazenamento de dados escalável e banco de dados vetorial otimizado para velocidade e relevância em cargas de trabalho em escala de produção. Elasticsearch é a base da plataforma Stack aberta da Elastic. Pesquise quase em tempo real em conjuntos de dados massivos, realize pesquisas vetoriais, integre-se a aplicativos generativos de IA e muito mais.
Os casos de uso habilitados pelo Elasticsearch incluem:
Geração Aumentada de Recuperação (RAG)
Pesquisa vetorial
Pesquisa de texto completo
Registros
Métricas
Monitoramento de desempenho de aplicativos (APM)
Registros de segurança
... e muito mais!
Para saber mais sobre os recursos e capacidades do Elasticsearch, consulte nossa página de produto.
Para acessar informações sobre inovações em machine learning e as últimas contribuições Lucene da Elastic, mais informações podem ser encontradas no Search Labs.
A maneira mais simples de configurar o Elasticsearch é criar uma implantação gerenciada com o Elasticsearch Service no Elastic Cloud.
Se preferir instalar e gerenciar o Elasticsearch por conta própria, você pode baixar a versão mais recente em elastic.co/downloads/elasticsearch.
Aviso | NÃO USE ESTAS INSTRUÇÕES PARA IMPLANTAÇÕES DE PRODUÇÃO. Esta configuração destina-se apenas a desenvolvimento e testes locais. |
Configure rapidamente o Elasticsearch e o Kibana no Docker para desenvolvimento ou teste local, usando o script start-local
.
ℹ️ Para obter informações mais detalhadas sobre a configuração start-local
, consulte o README no GitHub.
Se você não tiver o Docker instalado, baixe e instale o Docker Desktop para o seu sistema operacional.
Se você estiver usando o Microsoft Windows, instale o Windows Subsystem for Linux (WSL).
Esta configuração vem com uma licença de avaliação de um mês que inclui todos os recursos da Elastic.
Após o período de teste, a licença reverte para Gratuita e aberta - Basic . Consulte assinaturas elásticas para obter mais informações.
start-local
Para configurar o Elasticsearch e o Kibana localmente, execute o script start-local
:
curl -fsSL https://elastic.co/start-local | eh
Este script cria uma pasta elastic-start-local
contendo arquivos de configuração e inicia o Elasticsearch e o Kibana usando Docker.
Após executar o script, você poderá acessar os serviços Elastic nos seguintes endpoints:
Elasticsearch : http://localhost:9200
Kibana : http://localhost:5601
O script gera uma senha aleatória para o usuário elastic
, que é exibida ao final da instalação e armazenada no arquivo .env
.
Cuidado | Esta configuração é apenas para testes locais. HTTPS está desabilitado e a autenticação básica é usada para Elasticsearch. Por segurança, o Elasticsearch e o Kibana são acessíveis somente por meio de |
Uma chave de API para Elasticsearch é gerada e armazenada no arquivo .env
como ES_LOCAL_API_KEY
. Use esta chave para conectar-se ao Elasticsearch com um cliente de linguagem de programação ou a API REST.
Na pasta elastic-start-local
, verifique a conexão com o Elasticsearch usando curl
:
fonte .env curl $ES_LOCAL_URL -H " Autorização: ApiKey ${ES_LOCAL_API_KEY} "
Você envia dados e outras solicitações ao Elasticsearch por meio de APIs REST. Você pode interagir com o Elasticsearch usando qualquer cliente que envie solicitações HTTP, como os clientes da linguagem Elasticsearch e curl.
Aqui está um exemplo de comando curl para criar um novo índice Elasticsearch, usando autenticação básica:
curl -u elastic: $ELASTIC_PASSWORD -X PUT http://localhost:9200/my-new-index -H ' Content-Type: application/json '
Para se conectar ao cluster de desenvolvimento local do Elasticsearch com um cliente de idioma, você pode usar a autenticação básica com o nome de usuário elastic
e a senha definida na variável de ambiente.
Você usará os seguintes detalhes de conexão:
Ponto final do Elasticsearch : http://localhost:9200
Nome de usuário : elastic
Senha : $ELASTIC_PASSWORD
(Valor que você definiu na variável de ambiente)
Por exemplo, para conectar-se ao cliente elasticsearch
do Python:
importar os do elasticsearch importar o nome de usuário do Elasticsearch = 'elastic' senha = os . getenv ( 'ELASTIC_PASSWORD' ) # Valor que você definiu na variável de ambiente client = Elasticsearch ( "http://localhost:9200" , basic_auth = ( nome de usuário , senha )) print ( client . info ())
O console do desenvolvedor do Kibana oferece uma maneira fácil de experimentar e testar solicitações. Para acessar o console, abra o Kibana e vá para Management > Dev Tools .
Adicionar dados
Você indexa dados no Elasticsearch enviando objetos JSON (documentos) por meio de APIs REST. Quer você tenha texto estruturado ou não estruturado, dados numéricos ou dados geoespaciais, o Elasticsearch os armazena e indexa com eficiência de uma forma que oferece suporte a pesquisas rápidas.
Para dados com carimbo de data/hora, como logs e métricas, normalmente você adiciona documentos a um fluxo de dados composto de vários índices de apoio gerados automaticamente.
Para adicionar um único documento a um índice, envie uma solicitação de postagem HTTP direcionada ao índice.
POST /cliente/_doc/1 { "nome": "Jennifer", "sobrenome": "Walters" }
Essa solicitação cria automaticamente o índice customer
, caso ele não exista, adiciona um novo documento com ID 1 e armazena e indexa os campos firstname
e lastname
.
O novo documento está disponível imediatamente em qualquer nó do cluster. Você pode recuperá-lo com uma solicitação GET que especifica o ID do documento:
OBTER /cliente/_doc/1
Para adicionar vários documentos em uma solicitação, use a API _bulk
. Os dados em massa devem ser JSON delimitado por nova linha (NDJSON). Cada linha deve terminar com um caractere de nova linha ( n
), incluindo a última linha.
PUT cliente/_bulk { "criar": { } } { "nome": "Monica","sobrenome":"Rambeau"} { "criar": { } } { "nome": "Carol","sobrenome": "Danvers"} { "criar": { } } { "nome": "Wanda","sobrenome":"Maximoff"} { "criar": { } } { "nome": "Jennifer","sobrenome": "Takeda"}
Procurar
Os documentos indexados estão disponíveis para pesquisa quase em tempo real. A pesquisa a seguir corresponde a todos os clientes com o primeiro nome de Jennifer no índice customer
.
GET cliente/_search { "query" : { "match" : { "firstname": "Jennifer" } } }
Explorar
Você pode usar o Discover no Kibana para pesquisar e filtrar seus dados de forma interativa. A partir daí, você pode começar a criar visualizações e construir e compartilhar painéis.
Para começar, crie uma visualização de dados que se conecte a um ou mais índices, fluxos de dados ou aliases de índice do Elasticsearch.
Acesse Management > Stack Management > Kibana > Data Views .
Selecione Criar visualização de dados .
Insira um nome para a visualização de dados e um padrão que corresponda a um ou mais índices, como customer .
Selecione Salvar visualização de dados no Kibana .
Para começar a explorar, vá para Analytics > Discover .
Para atualizar de uma versão anterior do Elasticsearch, consulte a documentação de atualização do Elasticsearch.
Elasticsearch usa Gradle para seu sistema de construção.
Para construir uma distribuição para seu sistema operacional local e imprimir seu local de saída após a conclusão, execute:
./gradlew localDistro
Para construir uma distribuição para outra plataforma, execute o comando relacionado:
./gradlew :distribution:archives:linux-tar:assemble ./gradlew :distribution:archives:darwin-tar:assemble ./gradlew :distribution:archives:windows-zip:assemble
Para construir distribuições para todas as plataformas suportadas, execute:
./gradlew montar
As distribuições são enviadas para distribution/archives
.
Para executar o conjunto de testes, consulte TESTES.
Para obter a documentação completa do Elasticsearch, visite elastic.co.
Para obter informações sobre nossos processos de documentação, consulte o README dos documentos.
O repositório elasticsearch-labs
contém notebooks Python executáveis, aplicativos de amostra e recursos para testar o Elasticsearch para pesquisa vetorial, pesquisa híbrida e casos de uso de IA generativa.
Para diretrizes de contribuição, consulte CONTRIBUINDO.
Para relatar um bug ou solicitar um recurso, crie um problema no GitHub. Certifique-se de que outra pessoa não criou um problema para o mesmo tópico.
Precisa de ajuda para usar o Elasticsearch? Entre em contato no Elastic Forum ou no Slack. Um membro da comunidade ou um engenheiro da Elastic terá prazer em ajudá-lo.