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

資訊專欄INFORMATION COLUMN

12.Laravel全文搜索Elasticsearch (三)

岳光 / 753人閱讀

摘要:使用搜索引擎,配置中文分詞,與模型關聯,然后實現搜索的業務邏輯。

使用Elasticsearch搜索引擎,配置ik中文分詞,與Laravel模型關聯,然后實現搜索的業務邏輯。本篇是結束篇,使用Laravel的Scout擴展包完成搜索功能

續上篇,已經安裝和配置好了Scout和支持Elastic的擴展包

編輯Article模型,將LaravelScoutSearchable 這個 trait加到你想要做檢索的模型,這個trait會注冊一個模型觀察者來保持模型同步到檢索服務的驅動:

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

//...
}

使用aritsan命令,從mysql導入現有數據到ElasticSearch

php artisan scout:import

查看一下ElasticSearch中是否存在配置的索引,和導入的數據大小

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

ElasticSearch的一些RESTful api調用方式,可以用來測試數據

查看索引的配置

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!導入成功后,開始寫搜索業務邏輯了

添加路由

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

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

編寫控制器

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

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

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

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

編寫搜索展示頁面

// 展示搜索關鍵字和搜索到總條數

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

// 遍歷搜索的結果 // 顯示分頁代碼

ok!到此為止,咱們網站就添加上了全文搜索服務器了!

原文出處:http://www.mi360.cn/articles/40

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

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

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

相關文章

  • Elasticsearch Lucene 數據寫入原理 | ES 核心篇

    摘要:因為倒排索引打分機制全文檢索原理分詞原理等等,這些都是不會過時的技術。中,單個倒排索引文件稱為。其中有一個文件,記錄了所有的信息,稱為文檔新寫入時,會生成新的。過程上個過程中在文件系統緩存中,會有意外故障文檔丟失。寫入次怕后,清空。 前言 最近 TL 分享了下 《Elasticsearch基礎整理》,蹭著這個機會。寫個小文鞏固下,本文主要講 ES -> Lucene的底層結構,然后詳細...

    wums 評論0 收藏0

發表評論

0條評論

岳光

|高級講師

TA的文章

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