bigdata - elasticsearch + php
Post on 10-Jul-2015
358 views
Embed Size (px)
DESCRIPTION
Palestra apresentada na PHP Conference 2014. Introdução ao ElasticSearch, com sua configuração, conceitos e uso. Exemplos de uso do API com o PHP e melhores práticas.TRANSCRIPT
BigDataIndexando e buscando dados com ElasticSearch e PHP
Felipe Weckx
Agenda
ElasticSearch
PHP + ElasticSearch
Lies Aprendidas
ElasticSearch
Busca e anlise de dados
Gratuito e Open Source
Desenvolvido em Java
Comunidade ativa
Excelente documentao
Fcil de instalar e configurar
~ $ tar xzf elasticsearch-1.4.1.tar.gz ~ $ ./elasticsearch-1.4.1/bin/elasticsearch
Para que usar?
Complemento da base de dados
Buscas FULLTEXT e complexas
Estruturas de dados simples
Anlise estatstica
ElasticSearch - Conceitos
ndices Tipos Documentos
Schema-less documentos JSON
Internamente utiliza Lucene
TODOS os campos so indexadosIndexao utilizando ndice Reverso
Interface atravs de API RESTful
Indexando
~ $ curl -XPUT localhost:9200/phpconference/palestras/1 -d '{titulo : "Palestra BigData ",data : "2014-12-05",tags : [ "bigdata", "elasticsearch", "php"]}'
localhost:9200/phpconference/palestras/1
ndice
Tipo
ID
Consultando
~ $ curl -XGET localhost:9200/phpconference/palestras/1?pretty{"_index" : "phpconference","_type" : "palestras","_id" : "1","_version" : 1,"found" : true,"_source":{titulo : "Palestra BigData ",data : "2014-12-05",tags : [ "bigdata", "elasticsearch", "php"]}}
Rivers
Plugins
Sincronizao automtica com outras fontesJDBC (MySQL, Oracle, PostgreSQL, etc)
MongoDB
teis para integrao rpida, mas podem no ser a melhor soluo
Escalando
Escalonamento automtico
Operaes podem ser feitas em qualquer n
Shard = base de busca independente
Configurao por ndiceQuantidade de shards
Quantidade de rplicas
ElasticSearch + PHP
Biblioteca oficialPHP >= 5.3.9
ConnectionPool
Instalao simples com Composer
Alternativas*php-curl
php-http* Requisies manuais
{ "require": { "elasticsearch/elasticsearch": "~1.0" }}
Configurao Client PHP