久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

laravel如何使用es-創(chuàng)新互聯(lián)

這篇“l(fā)aravel如何使用es”文章,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要參考一下,對(duì)于“l(fā)aravel如何使用es”,小編整理了以下知識(shí)點(diǎn),請(qǐng)大家跟著小編的步伐一步一步的慢慢理解,接下來就讓我們進(jìn)入主題吧。

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、思茅網(wǎng)絡(luò)推廣、微信小程序、思茅網(wǎng)絡(luò)營銷、思茅企業(yè)策劃、思茅品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供思茅建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:sd-ha.com

Laravel 是什么

Laravel 是一套簡潔、優(yōu)雅的PHP Web開發(fā)框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構(gòu)建一個(gè)完美的網(wǎng)絡(luò)APP,而且每行代碼都可以簡潔、富于表達(dá)力。

Elasticsearch 簡介

Elastic 的底層是開源庫 Lucene。但是,你沒法直接用 Lucene,必須自己寫代碼去調(diào)用它的接口。Elastic 是 Lucene 的封裝,提供了 REST API 的操作接口,開箱即用。

ES 和 Mysql

ES 里的概念類比于 Mysql 如下圖所示:
laravel如何使用es

倒排索引

在說倒排索引之前我們先說說什么是正排索引。正排索引也稱為”前向索引”,它是創(chuàng)建倒排索引的基礎(chǔ)。
laravel如何使用es
如上在查詢一個(gè) keyword 在哪些文檔里包含的時(shí)候,需對(duì)所有的文檔進(jìn)行掃描以確保沒有遺漏,這樣就使得檢索時(shí)間大大延長,檢索效率低下。這個(gè)時(shí)候我們就用到了倒排索引,首先將文檔分詞。
laravel如何使用es
比如我們要查詢‘搜索引擎’這個(gè)關(guān)鍵詞在哪些文檔中出現(xiàn)過。首先我們通過倒排索引可以查詢到該關(guān)鍵詞出現(xiàn)的文檔位置是在1和3中;然后再通過正排索引查詢到文檔1和3的內(nèi)容并返回結(jié)果。

Laravel 使用 ES

安裝插件

basemkhirat/elasticsearch 是 Laravel 中使用 ES 的一個(gè)擴(kuò)展,使用起來非常方便:
1)安裝方法

$ composer require basemkhirat/elasticsearch

2)發(fā)布

$ php artisan vendor:publish –provider=”Basemkhirat\Elasticsearch\ElasticsearchServiceProvider”

配置

這樣我們就安裝好了,如下是我們的連接配置:

'connections' => [
    'default' => [
        'servers' => [
            [
                "host" => env("ELASTIC_HOST", "127.0.0.1"),
                "port" => env("ELASTIC_PORT", 9200),
                'user' => env('ELASTIC_USER', ''),
                'pass' => env('ELASTIC_PASS', ''),
                'scheme' => env('ELASTIC_SCHEME', 'http'),
            ]
        ],
        'index' => env('ELASTIC_INDEX', 'my_index')
    ]],

servers 里可以加入我們的集群配置。

使用方法

該插件的使用方法可借鑒 Laravel 的查詢構(gòu)造器,支持常用的如wherewhereIn、whereBetweenorderBy、firstget,也支持分頁方法paginate

$documents = ES::connection(“default”)
             ->index(“my_index”)
              ->type(“my_type”)
              ->get();    # return a collection of results

設(shè)置字段權(quán)重:

ES::type(“my_type”)->search(“hello”, function($search){
   $search->boost(2)->fields([“title” => 2, “content” => 1])
})->get();

我們也可以通過修改源碼擴(kuò)充自己需要用到的方法,也可以構(gòu)造原生的查詢語句:

$params['body'] = [
            'aggs' => [
                'all_created' => [
                    'terms' => [
                        'field' => 'element.raw',
                        'size'  => $this->_mAggsPageSize                    ],

                    'aggs' => [

                        'sum_pv' => [
                            'sum' => ['field' => 'pv'],
                        ],
                    ],
                ],
            ],
        ];

以上是“l(fā)aravel如何使用es”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前名稱:laravel如何使用es-創(chuàng)新互聯(lián)
文章起源:http://sd-ha.com/article10/deiigo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、外貿(mào)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、定制開發(fā)網(wǎng)頁設(shè)計(jì)公司、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)