Primeiras aulas do curso Elasticsearch: pesquisando e analisando os seus dados

Elasticsearch: pesquisando e analisando os seus dados

Introdução ao ElasticSearch - Introdução

[00:00:00] Olá, boas-vindas à Alura e ao curso de ElasticSearch. Meu nome é Thadeu, sou engenheiro de software na Amazon, trabalhando em Toronto, no Canadá e antigo contribuidor da Caelum, onde trabalhei de 2006 até o começo de 2010 e eu vou ser instrutor de vocês nesse curso.

[00:00:15] Discutiremos nesse curso o velho problema da busca. Estou dizendo que ele é um velho problema, porque além de não ser novo, ele aparece todos os dias em nossas vidas. Não tem novidade nenhuma.

[00:00:24] Por exemplo, quando você vai comprar um produto pela internet. Eu vou no site da Amazon, eu quero comprar alguma coisa sobre futebol, um livro, um DVD, uma chuteira, alguma roupa, uma camisa de um time. Ou quando eu vou, por exemplo, no site do Google buscar informação, então eu quero saber sobre futebol, sobre a história de futebol. Não só especificamente futebol, mas qualquer tipo de termo.

[00:00:47] Em geral, nós estamos preocupados em digitar algum termo ou alguma frase e ver as informações mais relevantes sobre aquele assunto. Vale destacar que nós não estamos muito preocupados com a maneira com que a informações foi gerada e armazenada, simplesmente queremos saber sobre determinado assunto.

[00:01:05] Então vamos dar um passo para trás e entender como esse problema tem sido resolvido e como que ElasticSearch vai ajudar a resolver esse problema de uma maneira um pouco mais simples. O problema que nós temos é que há muitas fontes de dados e informações, nós precisamos guardar essa informação em um determinado lugar para poder procurar essa informação.

[00:01:27] Isso é um problema já resolvido, tem diversos bancos de dados relacionais e eu vou deixar os não relacionais de lado por um instante nessa discussão. Onde nós conseguimos armazenar informação e buscar pela informação. O problema é na maneira em que buscamos a informação. Em geral, se a informação for armazenada em uma frase, nós acabamos apelando pelo velho like com os porcentos nas pontas. Por exemplo, onde tenha esse termo aqui.

[00:01:57] O problema é que isso não é eficiente, porque para nós acharmos a informação rápida nós temos que organizar o dado de maneira eficiente e de maneira específica. Então ao invés de você olhar todos os documentos, você consegue olhar uma parte e achar a informação.

[00:02:11] O like ele quebra isso. Ainda que ele nos dê o resultado, não é uma coisa escalável que vai durar conforme nós formos aumentando os dados, tendo mais dados na nossa base de dados. Foi criado, então, uma ideia de você criar tabelas ou campos que chamam de full text search.

[00:02:31] O que significa isso? Você prepara a informação que você vai buscar, então nós aplicamos diversas técnicas nessa informação, nós vamos olhar algumas durante o curso para nós podermos não apelar para o velho like, para achar a informação ainda de forma rápida.

[00:02:47] O problema é o seguinte, eu fui tentar usar essa abordagem. Então fui pegar MySQL, é um banco comum, é um banco que todo mundo usa, e eu fui tentar descobrir como é que eu faço pra usar full text search na MySQL e eu achei essa documentação.

[00:03:00] Ele diz que eu tenho que criar um índice tipo full text, até aí tudo bem, mas as minhas tabelas devem ser de um determinado tipo, só vale para determinados campos. E no final tem um ponto importante, ele dá umas dicas, se você for trabalhar com conjuntos de dados muitos grandes, não fica claro para mim. O que é um conjunto de dados muito grandes? Um milhão de registros? 100 giga bytes? Um terabyte de dados?

[00:03:29] Isso é uma coisa muito subjetiva, aí eu pensei, mas quando vou colocar isso em casa funcionou. Quando vou à empresa, com um projeto que eu trabalho, eu tenho lá o DBA, que é a pessoa responsável pela saúde dos bancos de dados e eu não posso ficar fazendo ajustes e mudando a maneira que eu vou indexar a informação e reindexar toda a informação que eu já tenho e saber especificamente os campos que eu tenho que fazer.

[00:03:59] O DBA não vai deixar eu fazer, tudo tem que passar por ele. Além do que, se eu quiser mudar de banco de dados, não vai ser uma coisa muito legal, porque eu vou ter que aprender como é que eu faço isso no Oracle, aprender como é que eu faço isso no MySQL. Nós ficamos extremamente presos no que nós estamos usando.

[00:04:14] Bom, fazendo um paralelo, existe uma biblioteca em Java chamada Apache Lucene. O Lucene traz toda essa parte de indexação de documentos, de preparar a informação para nós podermos fazer acesso rápido a ela e ainda trabalhando com buscas avançadas. O legal do Lucene é que é uma biblioteca Java, uma biblioteca gratuita do Grupo Apache.

[00:04:37] Você pode usar no seu trabalho, você pode usar no seu projeto que você está cobrando, não tem problema nenhum. Porém, ela está Java, então você não consegue usar em uma oura linguagem. Então se eu quero fazer um site em hub, tenho que criar uma coisa no meio para poder acessar a informação indexada com o Lucene.

[00:04:54] Além do que, é uma biblioteca em Java, então se você não conhece Java, pensa que é uma JAM, Ruby ou uma DLL no mundo Microsoft que você coloca em um projeto. Então você vai ter um processo Java, JVM, rodando essa biblioteca. O problema é que isso roda em uma máquina só.

[00:05:12] Então conforme o meu volume de dados vai aumentando e eu espero que ele aumente, eu vou ter problemas para permitir que mais pessoas acessem isso. Para escalar isso daí. Como isso está em uma máquina só, o que nós podemos fazer é colocar uma máquina melhor.

[00:05:26] Mas vai chegar um ponto em que vai ficar muito caro ou nós não vamos conseguir expandir para o nível que nós queremos. Imagina na Amazon, por exemplo, no website da Amazon, eu não tenho uma máquina só que roda e tem informação de busca. Além do que nós podemos atingir limites físicos, então dependendo do volume de dados que você tem, não vai caber em uma máquina.

[00:05:45] Nós queremos distribuir isso daí e o problema é que não temos como fazer isso, o Lucene não faz. Nós sabemos também que esse problema de você querer expandir a sua capacidade de computação horizontalmente, ou seja, ao invés de você colocar máquinas mais caras com mais memória, mais espaço de disco e processador mais potente, nós colocamos máquinas mais baratas uma ao lado da outra.

[00:06:09] Nós temos um benefício aí que se uma máquina falhar, as outras vão manter o website. De novo, pensa no caso da Amazon, imagina quantas máquinas não devem falhar suportando o site da Amazon e o site não para de funcionar. Então a computação em nuvem ajuda a resolver esse problema para nós.

[00:06:25] De você conseguir o que chamamos de availability e scalability, ou seja, nós queremos escalar horizontalmente e manter o nosso site disponível vinte e quatro por sete, o tempo todo. O ElasticSearch vem justamente para combinar a ideia do Cloud com o Lucene. Então ele traz o poder Lucene com uma API REST, o que é uma coisa bacana. Você ganha interoperabilidade quanto as linguagens.

[00:06:48] Então o ElasticSearch é escrito em Java, porém você consegue utilizar com qualquer cliente. Se você quiser usar em Phyton você pode, você quer usar em Ruby, você pode, se quiser usar em dotNet você pode. A interoperabilidade é atingida via JSON, então é um padrão universal na web que nós usamos para representar os dados.

[00:07:10] Uma coisa bacana é que o ElasticSearch não é só uma biblioteca open search, ele tem uma empresa por trás que permite que você use ele open search, porém ela te vende serviços caso você queira usar como, por exemplo, hospedagem. Nós vamos ver isso um pouco mais para o final do curso.

[00:07:25] Além de ter todo esse poder de busca na nuvem, então pensa o Lucene na nuvem, você ainda pode executar em cima disso o que chamamos de data analytics. Para quem tem familiaridade com o mundo SQL, nós estamos pensando em group by ou para quem conhece a MapReduce, como Hadoop, então você consegue mistura tanto as buscas avançadas como as agregações em conjuntos gigantescos de dados.

[00:07:51] Isso é uma coisa muito legal que vamos ver nesse curso.

Introdução ao ElasticSearch - Instalação

[00:00:00] Olá. Boas-vindas novamente. Já expliquei qual problema nós vamos resolver, já expliquei o que vamos estar utilizando. Então o primeiro passo que nós temos é instalar o ElasticSearch. Vamos começar a trabalhar.

[00:00:14] Bom, o ElasticSearch, como eu havia comentado, ele é um software que foi escrito em Java com base no Lucene e a coisa boa disso, é que precisamos ter a máquina JVM instalada no nosso computador, então é um pré-requisito. E nós precisamos instalar o ElasticSearch.

[00:00:30] A instalação do ElasticSearch é bem simples. Uma vez que você tenha a JVM instalada, basta você baixar do próprio site do ElasticSearch, do elástica.co, o zip do arquivo da versão que você quer trabalhar e descompactar esse arquivo. Eu disponibilizei a versão que eu estou utilizando aqui no site do Alura. Então você tem o link, você pode baixar e ele vai te dar um arquivo zip como esse arquivo que eu tenho aqui.

[00:00:53] Dado que nós pegamos esse arquivo, é importante gravarmos ele em uma pasta que tenhamos permissão de escrita. Então se você está utilizando Linux, se você está utilizando Windows ou mesmo Mac, ele vai gerar arquivo, então tem que ter permissão de escrita na pasta.

[00:01:08] A instalação é simples, basta descompactar o arquivo. Descompactamos o arquivo, então eu estou aqui no meu diretório home, então basta eu entrar no diretório do ElasticSearch. Eu vou ter alguns arquivos lá, a pasta bin, a pasta lib, basta nós entrarmos na pasta bin.

[00:01:29] Então na pasta bin nós vamos ter alguns arquivos para inicializar o ElasticSearch. Como eu avisei, isso é escrito em Java, então você tem que ter JVM. Ele vai chamar JVM para nós e cada plataforma tem o seu arquivo que vai fazer o lout do ElasticSearch. Então se você está utilizando o Windows, você vai utilizar o arquivo bet. Tem até algumas coisas par instalar como serviço.

[00:01:52] Então, por hora, vamos manter as coisas simples. Nós vamos trabalhar só com o processo de uma máquina. No final do curso eu vou falar mais sobre ElasticSearch em larga escala, como trabalhamos com esse tipo de coisa, as alternativas que nós temos, mas por hora nós vamos rodar localmente.

[00:02:07] Para inicializar é muito simples. Basta você chamar o arquivo correspondente da sua plataforma. Se for Mac, ElasticSearch. Se for Linux, .sh. Se for Windows, .bet. Novamente, tenha a certeza de que você pode escrever na pasta onde você está inicializando o ElasticSearch.

[00:02:24] Um detalhe importante, o ElasticSearch vai se associar a uma porta, então ele vai se associar a porta 9200. Esse porta tem que estar disponível, se não tiver disponível o ElasticSearch vai falhar na hora de inicializar. Então isso pode ser alterado.

[00:02:44] Tem o arquivo de configuração, eu expliquei no site como fazer isso, porém, como essa não é uma porta muito popular, então nós não devemos ter problema nenhum. Vamos inicializar. Na hora que ele inicializa, ele diz a versão e a porta que ele está fazendo o bind.

[00:03:04] Então ele pegou a porta 9200 para web e ele também pega uma outra porta 9300 para outro tipo de conexão com clientes diretos. Isso aqui nós não estamos muito interessados nesse momento, basta nós sabermos que essas portas devem estar disponíveis. Caso contrário, o ElasticSearch vai falhar na hora de inicializar. [00:03:22] Depois que nós inicializarmos o ElasticSearch, basta irmos no browser e o ElasticSearch já está funcionando, já pode interagir com ele. Essa é a parte inicial do ElasticSearch. Bom, como eu havia comentado no vídeo inicial, a maneira como interagimos com ele é via API REST. O que significa isso? Via protocolo http, então nós queremos criar documentos, pegar informação, fazer buscar, nós vamos utilizar os protocolos do http, os verbos do http.

[00:03:55] O ponto é que precisamos de um http client, então o browser é um http client, porém ele é meio que limitado a gets e posts em geral. O que vamos acabar fazendo aqui é utilizar um http client do seu gosto, então instalar um plugin no Chrome, Internet Explorer, no Fire Fox, no seu browser favorito. Usar a linha de comando com o crow, porém eu achei importante tirarmos vantagem desse programa e instalar um plugin chamado Kopf.

[00:04:27] O Kopf é um plugin que permite não só monitoramento do ElasticSearch, então tarefas administrativas, como, por exemplo, o quanto de memória que está sendo utilizado, quanto de garbage collection, enfim, vê tudo sobre um determinado nó. Não só nó, mas o seu cluster inteiro, como também ter um cliente rest para nós podermos interagir com o ElasticSearch.

[00:04:49] Então nós vamos aprender como instalar plugins. A primeira coisa que vamos fazer é derrubar o ElasticSearch, então para derrubar é “Ctrl + C” e vamos instalar o Kopf. Tem duas maneiras de nós instalarmos plugins no ElasticSearch, a primeira maneira é via linha de comando.

[00:05:10] Você tem lá o comando. Eu coloquei no site do Alura como você instalar diretamente do repositório onde está disponível o arquivo. Porém, para nós não incorrermos nesse risco, eu também disponibilizei, caso o repositório estar fora, da pessoa ter cancelado o plugin ou da versão não ser mais a mesma, ou não ser compatível, eu achei por bem colocar o zip do Kopf no site do Alura. Então nós podemos baixar esse zip e fazer a instalação dele.

[00:05:38] Eu tenho esse zip, uma vez que você for baixar, basta descompactar. Uma coisa importante, antes de nós copiarmos ele para a pasta plugins, nós precisamos renomear essa pasta somente para Kopf, porque esse é o nome que o plugin vai ser disponibilizado para nós. Ele é disponibilizado com o nome da pasta que ele foi criado.

[00:05:59] Basta copiarmos o Kopf para a pasta plugins, que foi criada pelo ElasticSearch. Então nós temos como plugin o Kopf, basta nós reinicializar o ElasticSearch e o Kopf vai estar disponível para nós. Então reparem que ele usou um outro nome de nó, não tem problema nenhum. Reparem que aqui ele lista agora plugins Kopf e site Kopf, então ele tem um site disponível para nós.

[00:06:33] Muito bem, conseguiu fazer a associação dos endereços, então para nós acessarmos o Kopf, basta acessarmos localhost:9200/_plugin/kopf/ basta dar um enter e nós vamos visualizar o Kopf. Então nós vamos ter uma boa visão do nosso cluster. Ele mostra heep, quantidade de discos disponível, quantidade de cpu. Esse load vai estar sempre vermelho, nós podemos ignorar, porque nós só temos uma máquina, então toda carga está nessa máquina.

[00:07:14] Nosso cluster está vazio e o que nós estamos interessados, na verdade, é nessa tab rest no lado superior esquerdo, que esse é o nosso cliente rest. Nós vamos durante o curso trabalhar um pouquinho com outras coisas aqui, mas por hora estamos interessados nessa tab rest.

[00:07:30] Então a primeira coisa que vamos fazer é criar registros dentro do ElasticSearch. Nós vamos trabalhar no curso com um catálogo de pessoas e, na verdade, o que vamos trabalhar aqui é que nesse momento nós vamos jogar dados, depois nós vamos mais a fundos nos dados que queremos e o que vamos querer obter a partir deles.

[00:08:01] Durante o curso vocês vão perceber, eu coloquei as instruções tanto nos exercícios quanto no Mãos à Obra com o nome do verbo que vamos usar, o nome da URI e o conteúdo da nossa requisição. Então tem vários comandos que vamos executar agora.

[00:08:19] Quando vemos o verbo, o que temos que fazer é trocar para o verbo que queremos. Então inicialmente vamos trabalhar com POST, então vamos copiar esse catálogo de pessoas aqui e esse aqui é o corpo que vamos trabalhar. Então o que estamos fazendo aqui é que estamos dizendo para o ElasticSearch criar para mim um documento onde eu tenho um catálogo de pessoas.

[00:08:49] Eu tenho o nome João Silva, o João Silva tem como interesse futebol, música e literatura, ele está na cidade de São Paulo, ele é formado em letras, a cidade de São Paulo fica no Estado de São Paulo e no país Brasil. Então uma vez que tivermos isso, nós podemos enviar esse comando e vamos ter a resposta aqui do lado.

[00:09:13] Então é bem conveniente, nós trabalharmos com o Kopf, porque nós temos a resposta já em um formato bonito, nós conseguimos enxergar, é colorido, ajuda a visualizar. Reparem que uma vez que fizemos a criação desse documento, apareceu aqui um índice criado, dez shards, um documento e a quantidade de espaço que isso está sendo utilizado.

[00:09:43] Reparem também que a barra no canto superior da tela do Kopf deixou de ser verde e passou a ser teoricamente amarelo, mas essa cor se chama de amber. A resposta que nós pegamos, isso é padrão, sempre que fizermos as requisições no tipo POST, nós vamos receber a resposta do índice que foi afetado, o tipo, o identificador do documento, a versão do documento, as shards e a informação dizendo que o documento foi criado.

[00:10:20] Então a primeira coisa que vamos fazer é resolver o amarelo. Então, por hora, basta executarmos esse comando para dizer que nós não queremos réplicas. Eu vou falar com bastante detalhes disso durante o curso, mas basicamente, assim, o que o ElasticSearch está dizendo é que eu estou falando que quero réplicas, porém eu não tenho onde replicar isso. Eu só tenho uma máquina, não tenho outras máquinas para copiar essa informação.

[00:10:49] Se essa máquina estiver fora, eu vou perder informação. Por hora nós não estamos muito interessados nisso, nós vamos discutir isso mais para frente. Vamos trocar a configuração para dizer que nós não queremos réplicas. O que vamos fazer é utilizar o PUT para fazer essa atualização, nós vamos trocar esse corpo por outro catálogo. Vamos enviar, o comando foi recebido e ele está verde agora, porque não tem que fazer mais réplica nenhuma.

[00:11:27] Então dá para ver que o número de shards caiu pela metade. De novo, nós não sabemos ainda o que são shards, mas vimos que caiu pela metade e o cluster ficou verde, isso é muito bom, ainda que seja um cluster de um nó só. Eu vou mostrar agora algumas API’s que nós podemos utilizar para ver informação e algumas outras coisas que vamos brincar para manter os motores quentes.

[00:11:53] Quando queremos saber quantos documentos temos no ElasticSearch, nós podemos olhar o Kopf, mas as vezes você quer chamar isso do seu código, você quer mostrar na sua página que eu tenho um total de tantos documentos ou eu encontrei tantos documentos no total de tantos, então podemos utilizar o verbo GET. Sempre que quisermos saber alguma coisa e consultar, vamos usar o verbo GET. [00:12:19] Eu vou fazer uma analogia um pouco mais forte com o SQL nos próximos capítulos, mas por hora basta saber que se eu quero perguntar alguma coisa, eu vou usar GET. Eu quero saber no meu catálogo de pessoas qual é o count. Então vocês vão perceber o ElasticSearch tem muitos API’s que começam com underscore e depois o verbo que você quer, a ação que você quer.

[00:12:49] Se nós executarmos isso, ele vai me dizer que eu tenho um documento. Exatamente o que está na barra superior, eu tenho cinco shards, nós vamos entender isso mais para frente, basta entender que eu tenho um documento. Vamos criar uma outra pessoa com identificador.

[00:13:07] Nós criamos, vimos que ele nos deu uma ID todo bagunçado. Então eu vou criar uma outra pessoa, vou criar um outro documento. Então catálogo de pessoas, esse vai ser o corpo, eu vou usar exatamente o mesmo conteúdo, não tem problema nenhum de duplicarmos isso daí. Já vamos entender o porquê de fazer isso.

[00:13:29] Então estou criando um outro documento. Reparem que o ID agora não é mais um número randômico, ele é um número específico porque nós indicamos o ID na hora da criação. Então nós fizemos o POST para um ID específico que estamos utilizando onde o rest fica evidente. Você tem o nome do recurso que você quer e com a identificação única dele.

[00:13:50] Se você não tem uma identificação única, o ElasticSearch vai gerar isso. Então nós temos dois documentos agora, dobrou o volume de informação que nós armazenamos, então nós armazenamos 8.65KB e uma coisa importante é que quando nós temos o identificador do documento, nós conseguimos fazer um GET diretamente nele.

[00:14:12] Ele vai me dar o documento em detalhes, ele vai me dizer que o ID do seu documento é um, ele está na sua primeira versão, ele foi encontrado e esse aqui é o conteúdo dele. Então o nome João Silva, os interesses, cidade, formação, estado e país, então conseguimos acessar os documentos diretamente.

[00:14:32] Eu posso, inclusive, fazer buscas no ElasticSearch, então vamos trocar o verbo. Eu falei muito de buscas avançadas e essa coisa toda, nós não queremos só ficar fazendo buscas por ID específicos, isso às vezes é importante, mas não é o que nós queremos no geral.

[00:14:50] Então vamos fazer uma busca geral no nosso índice, vamos ver tudo o que nós temos lá. Ele vai agora nos dizer o tempo que demorou, mas basicamente isso aqui nós encontramos, dois documentos, não sabemos o que é max scores e deixamos de lado. Então tem o primeiro documento que tem aquele ID que foi gerado e o segundo documento que foi o ID que nós identificamos.

[00:15:19] Então nós podemos melhorar essa busca e colocar o termo futebol, eu quero buscar coisas que tenham futebol. Nós podemos usar esse q=futebol, podemos imaginar esse “Q” como uma versão curta de query. Então faço uma busca. O primeiro caso equivalente ao select all, o select star sem condição nenhuma, sem lugar nenhum. Nós podemos imaginar que nesse caso temos um where sem campo específico ara futebol e devemos ter exatamente o mesmo resultado.

[00:15:53] A diferente que podemos notar aqui é que o max score mudou um pouquinho. De novo, nós ainda não sabemos o que significa isso, vamos aprender durante o curso, mas conseguimos pegar os mesmos resultados. Então conseguimos ter a nossa primeira interação com o ElasticSearch, conseguiu criar alguns documentos, conseguiu fazer algumas buscas, ver counts, instalar plugin.

[00:16:16] Já temos material suficiente para fazer alguns exercícios para vocês treinarem um pouquinho e antes de nós começarmos a entender mais a fundo o ElasticSearch e partimos para as buscas mais avançadas. Espero que vocês gostem dos exercícios e até o próximo capítulo.

Índices, tipos, shards e replicas - Introdução

[00:00:00] Olá, boas-vindas novamente. O nosso objetivo final nesse curso é aproveitar o ElasticSearch, queremos fazer buscas ao estilo Google, não queremos fazer aquelas buscas onde as pessoas precisam saber determinado campo, queremos aquele valor da AVI.

[00:00:16] Então, o nosso objetivo é usar uma ferramenta que vai permitir com que nós façamos as buscar no ElasticSearch usando a nossa barra de busca e também visualize os nossos dados. Vamos preparar os dados no ElasticSearch para poder visualizá-los e fazer buscas enquanto visualizamos de maneira mais analítica.

[00:00:38] Vamos poder brincar um pouquinho com a parte analítica do ElasticSearch em conjunto com as buscas avançadas que queremos. Para isso precisamos entender alguns conceitos, como o ElasticSearch se relaciona com os bancos relacionais, então é natural, nós estamos acostumados com bancos relacionais, então vamos partir deles para entender algumas coisas no ElasticSearch.

[00:01:04] Para tratarmos de instância no banco de dados relacional, por exemplo, um arquivo .db, no ElasticSearch nós estamos falando de índice. Não confundir com o índice que usamos para otimizar nossas buscas, até a terminologia é um pouco confusa, mas o nome é índice. Então, no nosso caso no capítulo um, o nosso índice é o índice catálogo, que seria equivalente ao banco de dados catálogo.

[00:01:27] A tabela no mundo relacional, no mundo ElasticSearch nós chamamos de “tipo”. Então, por exemplo, se eu tenho o banco de dados catálogo e dentro dele eu tenho uma tabela pessoas, no ElasticSearch eu tenho um índice catálogo e o “tipo pessoas” como utilizamos.

[00:01:39] O schema no banco relacional, ou seja, o meta dado ou o que define as nossas tabelas, quais colunas existem lá, qual o nome de cada tributo, qual o tipo de cada tributo, no mundo do ElasticSearch nós chamamos de mapping. Então vamos criar bastante mapping.

[00:01:55] Tupla, que é uma linha no banco relacional, no mundo de ElasticSearch nós chamamos de documento. A coluna no banco relacional nós chamamos de atributo. Então nosso documento é o documento JSON e os nossos atributos são atributos que tem no JSON. Por exemplo, nós utilizamos nome que era um campo de string utilizou interesses que era um campo do tipo array.

[00:02:20] Então esse é o tipo de documento que vamos estar lidando. Importante entendermos também que, como executamos, nós fizemos até agora buscas e criamos alguns documentos. Eu comentei que o ElasticSearch expõe uma API REST e nós podemos fazer uso dos verbos do protocolo HTTP, nós podemos fazer uso do HEAD, PUT, POST, GET e DELETE.

[00:02:44] Então o que vamos entender agora é como que esses verbos funcionam e tentar fazer, da maneira que for possível, uma analogia com os bancos relacionais e com os comandos do SQL.

Sobre o curso Elasticsearch: pesquisando e analisando os seus dados

O curso Elasticsearch: pesquisando e analisando os seus dados possui 152 minutos de vídeos, em um total de 85 atividades. Gostou? Conheça nossos outros cursos de NoSQL em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda NoSQL acessando integralmente esse e outros cursos, comece hoje!

Plus

  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$85
à vista R$1.020
Matricule-se

Pro

  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$120
à vista R$1.440
Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas