摘要:需要使用到大数据引擎,但无奈,不管是官方包还是上都没有找到自己想要的,那还说什么呢,自己操刀来一份吧。地址和安装和下的加载直接开始,示例如下更多的使用方法详见最后如果对您有用请给个吧,更多的是欢迎拍砖,支持开源。
需要使用到ES大数据引擎,但无奈,不管是官方包还是Github上都没有找到自己想要的,那还说什么呢,自己操刀来一份吧。Github地址:https://github.com/crcms/elasticsearch
Composer和安装和Laravel下的加载
Version Matrix| Elasticsearch Version | crcms/elasticsearch Branch |
|---|---|
| >= 6.0 | 1.* |
| >= 5.0, < 6.0 | 0.* |
composer require crcms/elasticsearchLaravel
Modify config / app.php
"providers" => [
CrCmsElasticSearchLaravelServiceProvider::class,
]
Pubish
php artisan vendor:publish --provider="CrCmsElasticSearchLaravelServiceProvider"
直接开始,示例如下:
Quickstart Create
Route::get("test/create",function(CrCmsElasticSearchBuilder $builder){
$result = $builder->index("index")->type("type")->create([
"key" => "value",
]);
dump($result);
});
Update
Route::get("test/update",function(CrCmsElasticSearchBuilder $builder){
$result = $builder->index("index")->type("type")->update("id",[
"key" => "value2",
]);
dump($result);
});
Delete
Route::get("test/delete",function(CrCmsElasticSearchBuilder $builder){
$result = $builder->index("index")->type("type")->delete("id");
dump($result);
});
Select
Route::get("test/select",function(CrCmsElasticSearchBuilder $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();
});
More
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();
更多的使用方法详见Github
最后:如果对您有用请给个Star吧,更多的是欢迎拍砖,支持开源。
文章已同步于laravel-china
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/28553.html
摘要:下载并安装目前的最新稳定版为,如果之后版本有升级,请将相应的版本号替换掉上面的。在实现的过程中,貌似对中文的支持不是那么好,所以接下来会尝试使用一下中文分词器来看看效果,顺利的话会再出一篇文章。 原文来自:https://jellybool.com/post/setup-slasticsearch-on-your-website 在我的博客按Shift+S就可以呼出搜索框,可...
摘要:系统环境安装没什么要点只要跟着官方文档流程一般都能安装成功并成功运行不过在线上环境别人还是在用一是项目大了二是的不同版本对内存的要求不一样而且在之后由于取消了导致很多插件都不能按照以前的方式安装了比如很常用现在就要通过运行或者其他插件放 系统环境 Ubuntu16.04, ElasticSearch5.0, JDK1.8 ElasticSearch5.0 安装es5.0没什么要点,只要...
阅读 2296·2021-10-12 10:12
阅读 968·2021-09-24 09:47
阅读 1452·2021-08-19 11:12
阅读 3677·2019-08-29 13:06
阅读 918·2019-08-26 11:43
阅读 2780·2019-08-23 17:20
阅读 1327·2019-08-23 16:52
阅读 2841·2019-08-23 14:27