PHP code example of ienaga / simple-elasticsearch-client

1. Go to this page and download the library: Download ienaga/simple-elasticsearch-client library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ienaga / simple-elasticsearch-client example snippets


use \SimpleElasticSearch\Client;

$client = new new Client([
    "end_point" => "URL"
]);

$result = $client
    ->setIndex("INDEX_NAME")
    ->setType("TYPE_NAME")
    ->createFilter() // filter search start
    ->addAnd("status", $status)
    ->attach() // filter search end
    ->search(); // execute search

use \SimpleElasticSearch\Client;

$client = new new Client([
    "end_point" => "URL"
]);

$result = $client
    ->setIndex("INDEX_NAME")
    ->setType("TYPE_NAME")
    ->createFilter() // filter search start
    ->addOr("user_id", 1)
    ->addOr("user_id", 2)
    ->attach() // filter search end
    ->search(); // execute search

use \SimpleElasticSearch\Client;

$client = new new Client([
    "end_point" => "URL"
]);

$result = $client
    ->setIndex("INDEX_NAME")
    ->setType("TYPE_NAME")
    ->createFilter() // filter search start
    ->addNot("status", 0)
    ->attach() // filter search end
    ->search(); // execute search

use \SimpleElasticSearch\Client;

$client = new new Client([
    "end_point" => "URL"
]);

$result = $client
    ->setIndex("INDEX_NAME")
    ->setType("TYPE_NAME")
    ->createFilter() // filter search start
    ->between("status", 0, 100)
    ->attach() // filter search end
    ->search(); // execute search

use \SimpleElasticSearch\Client;

$client = new new Client([
    "end_point" => "URL"
]);

$result = $client
    ->setIndex("INDEX_NAME")
    ->setType("TYPE_NAME")
    ->createFilter() // filter search start
    ->operator("status", 100, "gt")
    ->attach() // filter search end
    ->search(); // execute search

use \SimpleElasticSearch\Client;

$client = new new Client([
    "end_point" => "URL"
]);

$result = $client
    ->setIndex("index name")
    ->setType("type name")
    ->createFilter() // filter search start
    ->addAnd("status", $status) // match case
    ->setFrom($offset) // offset 
    ->setSize($limit) // limit
    ->addSort("price", $sort) // sort
    ->setAggregation("user_id") // group by
    ->attach() // filter search end
    ->search(); // execute search
    
// found
if ($result->isFound()) {
    // ArrayAccess, Iterator, Countable
    foreach ($result as $hit) {
        // Result Singular 
        // $hit->getIndex();
        // $hit->getType();
        // $hit->getId();
        // $hit->property;
    }
}

use \SimpleElasticSearch\Client;

$client = new new Client([
    "end_point" => "URL"
]);

$query = [
    "status"  => 0,
    "price"   => 100,
    "user_id" => 1,
];

$client
    ->setIndex("index name")
    ->setType("type name")
    ->setBody($query)
    ->create();

use \SimpleElasticSearch\Client;

$client = new new \SimpleElasticSearch\Client([
    "end_point" => "URL"
]);

$result = $client
    ->setIndex("index name")
    ->setType("type name")
    ->createFilter()
    ->addAnd("user_id", $userId)
    ->attach()
    ->search();
    
if ($result->isFound()) {
    foreach ($result as $hit) {
        
        $hit->status = 1;
        
        $client
            ->setIndex("index name")
            ->setType("type name")
            ->setId($hit["_id"])
            ->setBody($hit->getSource())
            ->update();
    }
}

use \SimpleElasticSearch\Client;

$client = new new \SimpleElasticSearch\Client([
    "end_point" => "URL"
]);

$result = $client
    ->setIndex("index name")
    ->setType("type name")
    ->setId("id name")
    ->get();
    
if ($result->isFound()) {
    $result->status = 1;
    
    $client
        ->setIndex($result->getIndex())
        ->setType($result->getType())
        ->setId($result->getId())
        ->setBody($result->getSource())
        ->update();
}

use \SimpleElasticSearch\Client;

$client = new new \SimpleElasticSearch\Client([
    "end_point" => "URL"
]);

$client
    ->setIndex("index name")
    ->setType("type name")
    ->setId("id name")
    ->delete();
mysql
SELECT * FROM `INDEX_NAME`.`TYPE_NAME` WHERE `statue` = 1;
mysql
SELECT * FROM `INDEX_NAME`.`TYPE_NAME` WHERE (`user_id` = 1 OR `user_id` = 2);
mysql
SELECT * FROM `INDEX_NAME`.`TYPE_NAME` WHERE `status` != 0;
mysql
SELECT * FROM `INDEX_NAME`.`TYPE_NAME` WHERE `status` BETWEEN 0 AND 100;
mysql
SELECT * FROM `INDEX_NAME`.`TYPE_NAME` WHERE `status` > 100;