PHP code example of linhanwei / thinkphp-elasticsearch

1. Go to this page and download the library: Download linhanwei/thinkphp-elasticsearch 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/ */

    

linhanwei / thinkphp-elasticsearch example snippets



$result = \Elasticsearch::index('index')->type('type')->create([
    'key' => 'value',
    'key2' => 'value2',
]);


$result = \Elasticsearch::index('index')->type('type')->update('id',[
    'key' => 'value2',
]);
dump($result);



$result = \Elasticsearch::index('index')->type('type')->delete('id');
dump($result);


//指定索引index和type
$builder = \Elasticsearch::index('laisiou_test')->type('user');

//全查询,但因ES聚合查询引擎的原因只能返回10条
$result = $builder->get();

//骚操作全查询
$result = $builder->take($builder->count())->get();

//根据id查询一条 注:查询不到则返回 null
$result = $builder->whereTerm('id',1)->first();

//子条件查询
$result = $builder->where(function ($inQuery) {
    $inQuery->whereTerm('key',1)->orWhereTerm('key',2)
})->whereTerm('key1',1)->get();

$builder->take(10)->get(); // or limit(10)
$builder->offset(10)->take(10)->get(); // or skip(10)

$builder->whereTerm('key',value)->first();

$builder->whereMatch('key',value)->first();

$builder->whereBetween('key',[value1,value2])->first();

$builder->whereIn('key',[value1,value2])->first();

$builder->whereTerm('key',value)->orWhereTerm('key2',value)->first();

$result = $builder->where(function (Builder $inQuery) {
    $inQuery->whereTerm('key',1)->orWhereTerm('key',2)
})->whereTerm('key1',1)->get();

public function select($columns): self

public function where($column, $operator = null, $value = null, $leaf = 'term', $boolean = 'and'): self

public function orWhere($field, $operator = null, $value = null, $leaf = 'term'): self

public function whereMatch($field, $value, $boolean = 'and'): self

public function orWhereMatch($field, $value, $boolean = 'and'): self

public function whereTerm($field, $value, $boolean = 'and'): self

public function whereIn($field, array $value)

public function orWhereIn($field, array $value)

public function orWhereTerm($field, $value, $boolean = 'or'): self

public function whereRange($field, $operator = null, $value = null, $boolean = 'and'): self

public function orWhereRange($field, $operator = null, $value = null): self

public function whereBetween($field, array $values, $boolean = 'and'): self

public function orWhereBetween($field, array $values): self

public function orderBy(string $field, $sort): self

public function scroll(string $scroll): self

public function aggBy($field, $type): self

public function select($columns): self

public function get(): Collection

public function paginate(int $page, int $perPage = 15): Collection

public function first()

public function byId($id)

public function byIdOrFail($id): stdClass

public function chunk(callable $callback, $limit = 2000, $scroll = '10m')

public function create(array $data, $id = null, $key = 'id'): stdClass

public function update($id, array $data): bool

public function delete($id)

public function count(): int

$builder->enableQueryLog();

\Elasticsearch::getElasticSearch() // 或者 \Elasticsearch::search()