Voltando a escrever apos 4 anos, e o que me fez voltar a escrever? ElasticSearch, esse fantastico motor de busca distribuido, feito pela Apache. Sua busca funciona no modelo full-text, onde voce tem a magica busca no estilo Google, que voce digita um texto que no ElasticSearch e tratado como Termo e ele faz todo o trabalho de busca para voce.Algumas das vantagens do ES e que ele possui uma api RESTfull, trabalha com Documentos tal qual um banco NoSql, seus dados sao disponibilizados em tempo real e pode ser distribuido e configurado para apresentar alta confiabilidade.Como falei ele armazenda dados em Documents no formato Json, formato universal suportado por quase todas as linguagens de programacao hoje em dia.O ES trabalha com alguns termos para simbolizar seu banco de dados, sao eles:Index, Type, Document, Field, onde:Index ou indice representa um banco de dados.Type ou tipo representa uma tabela do seu banco de dados.Document ou documento simboliza uma linha de dados da tabela.Field ou campo e uma coluna de uma tabela.Fazendo uma analogia com um banco de dados relacional onde teriamos o banco MeuBancoTeste com a tabela usuario, com o as seguintes colunas id, login e senha e dados: No ES teriamos a seguinte representacao para esses dados.O documento corresponde ao json dentro do _source, esse documento possui 3 campos: id, login e senha. O capo _id no json principal corresponde ao id que o elastic usa pra indexar aquele documento.Simples nao e?Outra simplicidade e o uso de Rest para manipulacao, com as operacoes ja conhecidas. POST, PUT, DELETE e GET.Criar um indice e muito simples, basta usar um metodo post informando o nome do indice que gostaria de criar. Usando nosso exemplo ficaria assim:<pre name="code" class="delphi">curl -XPUT 'localhost:9200/MeuBancoteste?pretty'</pre>O retorno dessa chamada seria algo como:<pre name="code" class="delphi"> { "acknowledged": true }</pre>Criando nossa tabela usuario e ja populando no Es.<pre name="code" class="delphi"> curl -XPUT 'localhost:9200/MeuBancoteste/usuario/0?pretty' -d '{ "login": "aluno", "senha" : "1"}'</pre>Como podem perceber e muito simples de se trabalhar.Mas o mais fantastico do ES na minha opiniao e a busca por algo nele, ele tem um sistema de busca por relevancia, onde ele vai pontuando internamente cada vez que aquele termo e procurado, e assim eleira aparecer na frente quando voce fizer um busca.Bem esse foi um post simples mais para apresentar o ElasticSearch, essa poderosa ferramenta para indexacao de documentos. Postarei mais sobre o seu uso, mais a frente. Nesse post vou falar um pouco de uma aplicacao web muito bacana para quem trabalha em equipe e principalmente para quem tem equipe distribuida geograficamente, essa ferramenta chama-se Trello e como seus desenvolvedores a intitulam ela serve para "juntos organizar qualquer coisa ". Trello e uma ferramenta para gerenciamento de atividades que funciona como uma rede Social onde e possivel criar um Board (projeto) e adicionar os membros da equipe para que todos possam verificar o andamento das tarefas em tempo Real, a sua grande vantagem e que ela tem uma interface bem limpa e ao mesmo tempo robusta, alem de seguir o conceito dos "Kanbans" onde tem-se originalmente 3 estagios de tarefas