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

資訊專欄INFORMATION COLUMN

Laravel 基于 Scout 配置實現 Elasticsearch (一)- 準備工作

jsyzchen / 3367人閱讀

摘要:導語全文搜索是很重要的功能,實現的方式也有很多種。以下通過和實現。是用開發的,并在許可證下作為開源軟件發布。官方客戶端在和許多其他語言中都是可用的。根據的排名顯示,是最受歡迎的企業搜索引擎,其次是,也是基于。

導語

全文搜索是很重要的功能,實現的方式也有很多種。以下通過 Laravel Scout 和 Elasticsearch 實現。先來看下各自的介紹

Laravel Scout 為 Eloquent 模型全文搜索實現提供了簡單的、基于驅動的解決方案。通過使用模型觀察者,Scout 會自動同步更新模型記錄的索引。
Elasticsearch是一個基于Lucene庫的搜索引擎。它提供了一個分布式、支持多租戶的全文搜索引擎,具有HTTP Web接口和無模式JSON文檔。Elasticsearch是用Java開發的,并在Apache許可證下作為開源軟件發布。官方客戶端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和許多其他語言中都是可用的。[5]根據DB-Engines的排名顯示,Elasticsearch是最受歡迎的企業搜索引擎,其次是Apache Solr,也是基于Lucene。
新建測試數據

新建 fake_articles 用來測試

新建模型以及數據遷移 php artisan make:model Models/FakeArticle -m

在數據遷移中 database/migrations/2019_06_13_095420_create_fake_articles_table.php 編輯如下

public function up()
{
    Schema::create("fake_articles", function (Blueprint $table) {
        $table->increments("id");
        $table->string("author", 20)->comment("作者");
        $table->string("title", 200)->comment("標題");
        $table->text("content")->comment("內容");
        $table->timestamps();
    });
}

運行遷移 php artisan migrate

新建數據填充 php artisan make:seeder FakeArticlesSeeder

填充幾條中文數據,以便后續測試

public function run()
{
    AppModelsFakeArticle::insert([
        [
            "author" => "王二",
            "title" => "黃金時代",
            "content" => "那一天我二十一歲,在我一生的黃金時代,我有好多奢望。我想愛,想吃,還想在一瞬間變成天上半明半暗的云,后來我才知道,生活就是個緩慢受錘的過程,人一天天老下去,奢望也一天天消逝,最后變得像挨了錘的牛一樣。可是我過二十一歲生日時沒有預見到這一點。我覺得自己會永遠生猛下去,什么也錘不了我。",
            "created_at" => now(),
            "updated_at" => now(),
        ],
        ["author" => "陳輝",
            "title" => "綠毛水怪",
            "content" => "大團的蒲公英浮在街道的河流口,吞吐著柔軟的針一樣的光,我們好像在池塘的水底,從一個月亮走向另一個月亮。",
            "created_at" => now(),
            "updated_at" => now(),
        ],
        ["author" => "迅哥",
            "title" => "社戲",
            "content" => "兩岸的豆麥和河底的水草所發散出來的清香,夾雜在水氣中撲面的吹來;月色便朦朧在這水氣里。淡黑的起伏的連山,仿佛是踴躍的鐵的獸脊似的,都遠遠的向船尾跑去了,但我卻還以為船慢。他們換了四回手,漸望見依稀的趙莊,而且似乎聽到歌吹了,還有幾點火,料想便是戲臺,但或者也許是漁火。",
            "created_at" => now(),
            "updated_at" => now(),
        ]
    ]);
}

運行填充 php artisan db:seed --class=FakeArticlesSeeder

搭建 Elasticsearch 容器

laradock 中支持 Elasticsearch,直接搭建就可以,省去了諸多麻煩

切換到 laradock 目錄

docker-compose build elasticsearch

docker-compose up -d elasticsearch

進入容器中 docker-compose exec elasticsearch bash

安裝 ik 插件,注意要和 elasticsearch 版本相同,在 elasticsearch/Dockerfile 中可以查看版本 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.0/elasticsearch-analysis-ik-6.6.0.zip

退出容器后重啟 docker-compose restart elasticsearch


參考資料:Laravel Scout、ik

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

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

相關文章

  • Laravel中利用Scout集成Elasticsearch搜索引擎

    摘要:寫在前面以下簡稱是一個實時的分布式搜索和分析引擎。在搜索引擎方面,不僅僅有,像另一篇提到的,還有等等,這里不做評價和比較,本篇主要介紹中如何使用。首選必須安裝有,請參考。本文基于,其他版本大同小異。 寫在前面 Elasticsearch(以下簡稱es)是一個實時的分布式搜索和分析引擎。 在搜索引擎方面,不僅僅有Elasticsearch,像另一篇提到的Algolia,還有sphinx、...

    buildupchao 評論0 收藏0
  • elastic學習筆記

    摘要:至于其他的算一般我習慣說樹形模型,這里說的概率模型可能是差不多的意思。 要點 不同工具之間版本匹配很重要由點及面,先實踐起來再學細節的原理和使用 技術棧 laravel5.5框架+scout組件+elasticsearch6.3.0搜索引擎 輔助 elasticsearch-head 查看集群數據可視化 中文分詞插件Ik 介紹 laravel是一款現代化的php框架es是搜索引擎e...

    heartFollower 評論0 收藏0

發表評論

0條評論

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