bigdata - elasticsearch + php

Download BigData - ElasticSearch + PHP

Post on 10-Jul-2015

358 views

Category:

Data & Analytics

2 download

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

Twitter

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