2017 © Pedro PelĆ”ez
 

library elasticsearch-thrift

Elasticsearch Thrift client

image

trk54ylmz/elasticsearch-thrift

Elasticsearch Thrift client

  • Wednesday, August 27, 2014
  • by trK54Ylmz
  • Repository
  • 3 Watchers
  • 2 Stars
  • 19 Installations
  • Shell
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Elasticsearch PHP Thrift transport client

Low-level Elasticsearch Thrift transport plugin. The library is compatible with Elasticsearch 1.3.X, (*1)

Requirements

  • Apache Thrift 0.9 or higher
  • Elasticsearch 1.0.0 or higher with Thrift transport plugin

[https://github.com/elasticsearch/elasticsearch-transport-thrift], (*2)

Performance

Elasticsearch Thrift Client (Thrift extension installed) almost 3x times faster than Elasticsearch Official PHP Client, (*3)

Usage

  1. Install Thrift C++ Transport Extension for performance (Optional but recommended), (*4)

    cd lib/ThriftExt/thrift_protocol
    phpize --clean && phpize
    ./configure
    make
    sudo make install
    
  2. Create composer.json:, (*5)

    {
        "require" : {
            "trk54ylmz/elasticsearch-thrift": "dev-master"
        }
    }
    
  3. Include vendor/autoload.php
require 'vendor/autoload.php';

$elasticsearch = new Elasticsearch\Client();

$body = '
{
    "query" : {
        "match_all" : {}
    }
}
';

$elasticsearch->setIndex('twitter');
$elasticsearch->setType('users');
$elasticsearch->setBody($body);

$result = $elasticsearch->search();

var_dump($result->hits);

Index a document

$elasticsearch = new Elasticsearch\Client();

$body = array(
    'username' => 'trK54Ylmz',
    'email' => 'tarik@example.com',
    'country' => 'TR',
    'logged' => false
);

$elasticsearch->setIndex('twitter');
$elasticsearch->setType('users');
$elasticsearch->setBody($body);

$result = $elasticsearch->index();

Get a document

$elasticsearch = new Elasticsearch\Client();

$elasticsearch->setIndex('twitter');
$elasticsearch->setType('users');
$elasticsearch->setId('1');

$result = $elasticsearch->get();

Update a document

$elasticsearch = new Elasticsearch\Client();

$body = array(
    'doc' => array(
        'logged' => false
    )
);

$elasticsearch->setIndex('twitter');
$elasticsearch->setType('users');
$elasticsearch->setId('1');
$elasticsearch->setBody($body);

$elasticsearch->update();

Delete a document

$elasticsearch = new Elasticsearch\Client();

$elasticsearch->setIndex('twitter');
$elasticsearch->setType('users');
$elasticsearch->setId('1');

$elasticsearch->delete();

Todo

  1. Advanced DSL
  2. Mapping feature
  3. Cluster management

The Versions

27/08 2014

1.0.x-dev

1.0.9999999.9999999-dev http://github.com/trK54Ylmz/elasticsearch-php-thrift

Elasticsearch Thrift client

  Sources   Download

GNUv2

The Requires

  • php >=5.3.0

 

elasticsearch thrift

27/08 2014

1.1.x-dev

1.1.9999999.9999999-dev http://github.com/trK54Ylmz/elasticsearch-php-thrift

Elasticsearch Thrift client

  Sources   Download

GNUv2

The Requires

  • php >=5.3.0

 

elasticsearch thrift

27/08 2014

dev-master

9999999-dev http://github.com/trK54Ylmz/elasticsearch-php-thrift

Elasticsearch Thrift client

  Sources   Download

GNUv2

The Requires

  • php >=5.3.0

 

elasticsearch thrift