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

資訊專欄INFORMATION COLUMN

如何在Lumen中使用Elasticsearch

jubincn / 2425人閱讀

摘要:之前受到這篇為你的站點插上的翅膀的啟發就嘗試在中引入,并完成中文索引。關于中文索引谷歌上關于中文搜索的文章有很多,例如這篇。中文索引中涉及的內容比較多,下次再用一個篇幅來分析。

如何在Lumen中使用Elasticsearch 前言

Lumen是基于Laravel核心組件的微框架,隨著Laravel5的發布,目前版本也已經到5了。之前受到這篇為你的站點插上ElasticSearch的翅膀的啟發, 就嘗試在lumen中引入ES,并完成中文索引。

谷歌一下“Laravel Elasticsearch”, 會發現很多插件,本文使用的是上面文章中提到的Fadion/Bouncy,其實各個插件都大同小異,主要功能都是ES提供的library完成的。

下載運行Elasticsearch

關于運行就不多說了,大家直接看官方文檔就行。

引入第三方包

在lumen項目的composer.json中添加如下內容

json"require": {
        "fadion/bouncy": "dev-l5"
    },

運行composer update "fadion/bouncy", 開始下載依賴。

FadionBouncyBouncyServiceProvider加入到bootstrap/app.php中,如下

php$app->register(FadionBouncyBouncyServiceProvider::class);

把"fadion/bouncy"包中的config文件夾中的文件復制到自己的config文件夾中,并把config.php重命名為bouncy.php

為Lumen適配

由于這個包是為Laravel5提供的,有一些函數需要補充。首先打開 FadionBouncyBouncyServiceProvider這個文件,看看哪些方法需要添加。

config_path函數,Lumen中沒有提供這個方法,需要自己補充下,非常簡單的方法,記得用composer加載文件。

phpfunction config_path(){
    return app()->basePath("config");
}

Lumen中加載配置文件的方式和Larvel不同,需要在AppProvidersAppServiceProvider中添加如下方法,并在register方法中調用。注意AppProvidersAppServiceProvider必須在FadionBouncyBouncyServiceProvider之前被注冊。

phpprotected function loadConfigFile(){
    $this->app->configure("elasticsearch");
}

至此,Lumen已經能夠和ES互動了。

如何使用

簡單使用的話,只需要在Eloquent Model中添加一個Trait即可,請參照github上的文檔 或者 為你的站點插上ElasticSearch的翅膀文中的介紹。畢竟接下來都是ES的內容,官方文檔一大堆,要一下完全搞清楚那些名詞也不現實,google配合文檔是個好方法。

關于中文索引

谷歌上關于ES中文搜索的文章有很多,例如這篇。文中比較了5個不同分詞插件。我挑選了smartcnicu使用了以下,發現簡單的詞匯是沒問題的,但是有一些詞還是不能很好的分出來,例如"谷歌",兩個插件都變為了"谷","歌";“薪酬”在smartcn下被拆分為“薪”,“酬”,icu效果倒是很好。

關于如何精確設置索引,請關注ES官方文檔中的 mapping -> core type。中文索引中涉及的ES內容比較多,下次再用一個篇幅來分析。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21035.html

相關文章

  • 學習 Lumen 用戶認證 (一)

    摘要:在開發中,用戶認證是核心,是數據是否有保障的前提,目前主要有兩種常用方式進行用戶認證和。附是為了在網絡應用環境間傳遞聲明而執行的一種基于的開放標準。 好久沒寫 PHP 代碼了,尤其是 Lumen,我是 Lumen 的忠實用戶,自從面世開始,我就將 Lumen 作為我 API 的主要框架使用。 但說到 API,不得不說的一個概念:「前后端分離」,現在越來越多的團隊都采用前后端分離,徹底解...

    wangzy2019 評論0 收藏0
  • Lumen 初體驗

    摘要:介紹為速度而生的框架。是官方給出的例子,直接拷貝命名為。一般來說,我們應該避免使用末尾帶斜杠的。因為它如果找不到文件,就會自動在末尾加個斜杠,嘗試尋找目錄下的文件等等,具體是在中配置。方案修改修改的配置文件,將指向重啟。 介紹 Lumen:為速度而生的 Laravel 框架。 Lumen 是 Laravel 的作者(Taylor Otwell)的又一力作。簡單、快速、優雅的它的特點...

    Leck1e 評論0 收藏0
  • Lumen微服務生成Swagger文檔

    摘要:本文將會告訴你如何借助中插件,在開發微服務項目時項目和其它項目方法類似快速的在代碼中使用注釋來創建文檔。本文將會持續修正和更新,最新內容請參考我的上的程序猿成長計劃項目,歡迎,更多精彩內容請。框架配置我們使用當前最新的來演示。 showImg(https://segmentfault.com/img/remote/1460000017715535?w=1072&h=711); 作為一名...

    alighters 評論0 收藏0
  • Lumen用戶認證JWT,源碼解讀

    摘要:如何做用戶認證根據文檔描述,提供用戶認證的接口,他的核心是看守器和提供器,看守器定義怎么認證用戶,提供器定義怎么檢索用戶。 最近的一個PHP項目,上一個項目是采用ThinkPHP來弄的,因為很早就聽說過Laravel的大名,所以進了Laravel的官網,意外發現了Lumen,正好我項目是提供API的,所以選擇了Lumen,因為是Laravel的精簡版,看了幾天的Laravel文檔,也總...

    AZmake 評論0 收藏0

發表評論

0條評論

jubincn

|高級講師

TA的文章

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