国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

像使用 Laravel Query 一樣的搜索 Elasticsearch

mumumu / 1225人閱讀

摘要:需要使用到大數(shù)據(jù)引擎,但無奈,不管是官方包還是上都沒有找到自己想要的,那還說什么呢,自己操刀來一份吧。地址和安裝和下的加載直接開始,示例如下更多的使用方法詳見最后如果對您有用請給個吧,更多的是歡迎拍磚,支持開源。

需要使用到ES大數(shù)據(jù)引擎,但無奈,不管是官方包還是Github上都沒有找到自己想要的,那還說什么呢,自己操刀來一份吧。Github地址:https://github.com/crcms/elasticsearch

Composer和安裝和Laravel下的加載

Version Matrix
Elasticsearch Version crcms/elasticsearch Branch
>= 6.0 1.*
>= 5.0, < 6.0 0.*
Install
composer require crcms/elasticsearch
Laravel

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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/28553.html

相關(guān)文章

  • 為你站點插上ElasticSearch翅膀

    摘要:下載并安裝目前的最新穩(wěn)定版為,如果之后版本有升級,請將相應(yīng)的版本號替換掉上面的。在實現(xiàn)的過程中,貌似對中文的支持不是那么好,所以接下來會嘗試使用一下中文分詞器來看看效果,順利的話會再出一篇文章。 原文來自:https://jellybool.com/post/setup-slasticsearch-on-your-website 在我的博客按Shift+S就可以呼出搜索框,可...

    JouyPub 評論0 收藏0
  • Laravel5.3+Scout+ElasticSearch5.0 小記

    摘要:系統(tǒng)環(huán)境安裝沒什么要點只要跟著官方文檔流程一般都能安裝成功并成功運行不過在線上環(huán)境別人還是在用一是項目大了二是的不同版本對內(nèi)存的要求不一樣而且在之后由于取消了導(dǎo)致很多插件都不能按照以前的方式安裝了比如很常用現(xiàn)在就要通過運行或者其他插件放 系統(tǒng)環(huán)境 Ubuntu16.04, ElasticSearch5.0, JDK1.8 ElasticSearch5.0 安裝es5.0沒什么要點,只要...

    OnlyLing 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<