| Elasticsearch Version | crcms/elasticsearch Branch |
|---|---|
| >= 6.0 | 1.* |
| >= 5.0, < 6.0 | 0.* |
You can install the package via composer:
composer require crcms/elasticsearch
Modify config / app.php
'providers' => [
CrCms\ElasticSearch\LaravelServiceProvider::class,
]
If you'd like to make configuration changes in the configuration file you can pubish it with the following Aritsan command:
php artisan vendor:publish --provider="CrCms\ElasticSearch\LaravelServiceProvider"
Route::get('test/create',function(\CrCms\ElasticSearch\Builder $builder){
$result = $builder->index('index')->type('type')->create([
'key' => 'value',
]);
dump($result);
});Route::get('test/create',function(\CrCms\ElasticSearch\Builder $builder){
$result = $builder->index('index')->type('type')->update('id',[
'key' => 'value2',
]);
dump($result);
});Route::get('test/create',function(\CrCms\ElasticSearch\Builder $builder){
$result = $builder->index('index')->type('type')->delete('id');
dump($result);
});Route::get('test/create',function(\CrCms\ElasticSearch\Builder $builder){
$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 (Builder $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): selfpublic function where($column, $operator = null, $value = null, $leaf = 'term', $boolean = 'and'): selfpublic function orWhere($field, $operator = null, $value = null, $leaf = 'term'): selfpublic function whereMatch($field, $value, $boolean = 'and'): selfpublic function orWhereMatch($field, $value, $boolean = 'and'): selfpublic function whereTerm($field, $value, $boolean = 'and'): selfpublic function whereIn($field, array $value)public function orWhereIn($field, array $value)public function orWhereTerm($field, $value, $boolean = 'or'): selfpublic function whereRange($field, $operator = null, $value = null, $boolean = 'and'): selfpublic function orWhereRange($field, $operator = null, $value = null): selfpublic function whereBetween($field, array $values, $boolean = 'and'): selfpublic function orWhereBetween($field, array $values): selfpublic function orderBy(string $field, $sort): selfpublic function scroll(string $scroll): selfpublic function aggBy($field, $type): selfpublic function select($columns): selfpublic function get(): Collectionpublic function paginate(int $page, int $perPage = 15): Collectionpublic function first()public function byId($id)public function byIdOrFail($id): stdClasspublic function chunk(callable $callback, $limit = 2000, $scroll = '10m')public function create(array $data, $id = null, $key = 'id'): stdClasspublic function update($id, array $data): boolpublic function delete($id)public function count(): int//open log
$builder->enableQueryLog();
//all query log
dump($build->getQueryLog());
//last query log
dump($build->getLastQueryLog());getElasticSearch() // or search()