99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

關于laravel使用es的正確姿勢

下面由Laravel教程欄目給大家介紹laravel使用es的正確姿勢,希望對需要的朋友有所幫助!

創新互聯公司長期為上1000家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為覃塘企業提供專業的成都做網站、網站制作,覃塘網站改版等技術服務。擁有10年豐富建站經驗和眾多成功案例,為您定制開發。

Elasticsearch 簡介

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

ES 和 Mysql

ES 里的概念類比于 Mysql 如下圖所示:

倒排索引

在說倒排索引之前我們先說說什么是正排索引。正排索引也稱為”前向索引”,它是創建倒排索引的基礎。

如上在查詢一個 keyword 在哪些文檔里包含的時候,需對所有的文檔進行掃描以確保沒有遺漏,這樣就使得檢索時間大大延長,檢索效率低下。這個時候我們就用到了倒排索引,首先將文檔分詞。

比如我們要查詢‘搜索引擎’這個關鍵詞在哪些文檔中出現過。首先我們通過倒排索引可以查詢到該關鍵詞出現的文檔位置是在1和3中;然后再通過正排索引查詢到文檔1和3的內容并返回結果。

Laravel 使用 ES

安裝插件

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

$ composer require basemkhirat/elasticsearch

2)發布

$ 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 的查詢構造器,支持常用的如 wherewhereInwhereBetweenorderByfirstget,也支持分頁方法paginate

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

設置字段權重:

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

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

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

                    'aggs' => [

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

結語

ES 內置分詞器對中分支持并不友好,比較推薦的是 IK分詞器,需要注意的是ik版本需要與ES的版本號保持一致。

當前標題:關于laravel使用es的正確姿勢
URL分享:http://www.yijiale78.com/article2/cghcic.html

成都網站建設公司_創新互聯,為您提供企業網站制作網站排名電子商務動態網站Google域名注冊

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設