hzx / hyperf-elasticsearch
1.0.3
2022-09-10 15:26 UTC
Requires
- php: >=7.3
- hyperf/config: v2.2.*
- hyperf/di: v2.2.*
- hyperf/elasticsearch: v2.2.*
- hyperf/framework: v2.2.*
- hyperf/logger: v2.2.*
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- mockery/mockery: ^1.0
- phpstan/phpstan: ^0.12
- phpunit/phpunit: >=7.0
- swoole/ide-helper: dev-master
- swow/swow: dev-develop
- symfony/var-dumper: ^5.1
This package is auto-updated.
Last update: 2024-12-14 09:02:24 UTC
README
根据 crcms/elasticsearch 改造的基于Hyperf框架的ElasticSearch组件。
1、安装
composer require hzx/elasticsearch
2、发布配置
php bin/hyperf.php elasticsearch:publish --config 或 php bin/hyperf.php vendor:publish hzx/elasticsearch
使用:
$esf = new ElasticsearchFactory(); $builder = $esf->builder()->index('index')->whereTerm('id', '1')->first();
$builder->index('index')->type('type')->create([ 'key' => 'value' ]); // return a collection $builder->index('index')->type('type')->createCollection([ 'key' => 'value' ]);
Update
$builder->index('index')->type('type')->update([ 'key' => 'value1' ]);
Delete
$builder->index('index')->type('type')->delete($result->_id);
Select
$builder = $builder->index('index')->type('type'); //SQL:select ... where id = 1 limit 1; $result = $builder->whereTerm('id',1)->first(); //SQL:select ... where (key=1 or key=2) and key1=1 $result = $builder->where(function (Query $inQuery) { $inQuery->whereTerm('key',1)->orWhereTerm('key',2) })->whereTerm('key1',1)->get();
skip / take
$builder->take(10)->get(); // or limit(10) $builder->offset(10)->take(10)->get(); // or skip(10)
term query
$builder->whereTerm('key',value)->first();
match query
$builder->whereMatch('key',value)->first();
range query
$builder->whereBetween('key',[value1,value2])->first();
where in query
$builder->whereIn('key',[value1,value2])->first();
logic query
$builder->whereTerm('key',value)->orWhereTerm('key2',value)->first();
nested query
$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 whereNotBetween($field, array $values): self
public function orWhereNotBetween(string $field, array $values): self
public function whereExists($field, $boolean = 'and'): self
public function whereNotExists($field, $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