亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

12.Laravel全文搜索Elasticsearch (三)

岳光 / 824人閱讀

摘要:使用搜索引擎,配置中文分詞,與模型關(guān)聯(lián),然后實(shí)現(xiàn)搜索的業(yè)務(wù)邏輯。

使用Elasticsearch搜索引擎,配置ik中文分詞,與Laravel模型關(guān)聯(lián),然后實(shí)現(xiàn)搜索的業(yè)務(wù)邏輯。本篇是結(jié)束篇,使用Laravel的Scout擴(kuò)展包完成搜索功能

續(xù)上篇,已經(jīng)安裝和配置好了Scout和支持Elastic的擴(kuò)展包

編輯Article模型,將LaravelScoutSearchable 這個(gè) trait加到你想要做檢索的模型,這個(gè)trait會(huì)注冊(cè)一個(gè)模型觀察者來(lái)保持模型同步到檢索服務(wù)的驅(qū)動(dòng):

 $this->id,
            "title" => $this->title,
            "content" => $this->content
        ];
     }

//...
}

使用aritsan命令,從mysql導(dǎo)入現(xiàn)有數(shù)據(jù)到ElasticSearch

php artisan scout:import

查看一下ElasticSearch中是否存在配置的索引,和導(dǎo)入的數(shù)據(jù)大小

curl "localhost:9200/_cat/indices?v"

ElasticSearch的一些RESTful api調(diào)用方式,可以用來(lái)測(cè)試數(shù)據(jù)

查看索引的配置

curl -XGET "http://localhost:9200/mi360?pretty=true"

查看文檔列表

curl -XGET "http://localhost:9200/mi360/_search?pretty=true"

查看指定id=10的文檔

curl -XGET "http://localhost:9200/mi360/article/10?pretty=true"

ok!導(dǎo)入成功后,開(kāi)始寫(xiě)搜索業(yè)務(wù)邏輯了

添加路由

Route::get("/search", "WelcomeController@search");

編輯視圖文件中的form表單,提交到路由的地址,并且input表單的name=query

編寫(xiě)控制器

public function search(Request $request)
{
    $this->validate($request, [
        "query" => "required",
    ]);

    // 轉(zhuǎn)義特殊字符
    $query = str_replace("/", "/", strip_tags($request->get("query")));

    // 分頁(yè),每頁(yè)10條
    $articles = Article::search($query)->paginate(10);

    return view("welcome.search", compact("articles","query"));
}

編寫(xiě)搜索展示頁(yè)面

// 展示搜索關(guān)鍵字和搜索到總條數(shù)

搜索:{{ $query }} (共搜索到{{ $articles->total() }}條)

// 遍歷搜索的結(jié)果 // 顯示分頁(yè)代碼

ok!到此為止,咱們網(wǎng)站就添加上了全文搜索服務(wù)器了!

原文出處:http://www.mi#/articles/40

相關(guān)文章:
11.Laravel全文搜索Elasticsearch (一)
12.Laravel全文搜索Elasticsearch (二)

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/31614.html

相關(guān)文章

  • Elasticsearch Lucene 數(shù)據(jù)寫(xiě)入原理 | ES 核心篇

    摘要:因?yàn)榈古潘饕蚍謾C(jī)制全文檢索原理分詞原理等等,這些都是不會(huì)過(guò)時(shí)的技術(shù)。中,單個(gè)倒排索引文件稱(chēng)為。其中有一個(gè)文件,記錄了所有的信息,稱(chēng)為文檔新寫(xiě)入時(shí),會(huì)生成新的。過(guò)程上個(gè)過(guò)程中在文件系統(tǒng)緩存中,會(huì)有意外故障文檔丟失。寫(xiě)入次怕后,清空。 前言 最近 TL 分享了下 《Elasticsearch基礎(chǔ)整理》,蹭著這個(gè)機(jī)會(huì)。寫(xiě)個(gè)小文鞏固下,本文主要講 ES -> Lucene的底層結(jié)構(gòu),然后詳細(xì)...

    wums 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<