addons / elasticsearch
Laravel的elasticsearch分页器/集合/日志助手。
3.0.4
2020-03-27 15:43 UTC
Requires
- php: >=5.6.10
- elasticsearch/elasticsearch: >=5.0
- laravel/scout: >=3.0
README
在Laravel 5中使用官方的Elastic Search 5.x~6.x客户端的简单方法。
警告:本手册适用于addons/elasticsearch:3.0.0,Elasticsearch 6.x。如果您使用Elasticsearch 5.x,请访问2.0.1
版本
- addons/elasticsearch:1.0.2
- Elasticsearch 5.x
- Laravel/Scout 3.0
- Laravel 5.1~5.5
- addons/elasticsearch:2.0.1
- Elasticsearch 5.x
- Laravel/Scout 3.0~4.0
- Laravel 5.1~5.6
- addons/elasticsearch:3.0.0 - master
- Elasticsearch 6.x
- Laravel/Scout 4.0
- Laravel 5.1~5.6
差异
Elasticsearch 6.0移除(弃用)了TYPE。 (类似于数据库的表)
因此我们使用ES的索引名为env('SCOUT_PREFIX').$mode->getTable()
为每个表
例如
.env
SCOUT_PREFIX = my_application_name-
索引名称如下
my_application_name-users
my_application_name-roles
示例
搜索类似于Laravel的模型
此构建器将在ES中搜索,而不是数据库中。
User::search('must')->where('name', 'admin')->whereIn('type', ['1', '2'])->get();
页面
// page 1
User::search()->where(...)->paginate(25);
// page 4
User::search()->where(...)->paginate(25, ['*'], 'page', 4)
读取/修改Elastic DSL JSON
User::search('must', function($elasticsearch, &$query){
print_r($query); // Show the DSL JSON
// ... edit the $query.
})->where(...)->get();
版权和许可
elasticsearch由Colin Viebrock,Fly编写,并按照MIT许可发布。
版权(c)2016-2018