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

資訊專欄INFORMATION COLUMN

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

buildupchao / 3021人閱讀

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

寫在前面

Elasticsearch(以下簡(jiǎn)稱es)是一個(gè)實(shí)時(shí)的分布式搜索和分析引擎。

在搜索引擎方面,不僅僅有Elasticsearch,像另一篇提到的Algolia,還有sphinx、Solr等等,這里不做評(píng)價(jià)和比較,本篇主要介紹laravel中如何使用Elasticsearch。

首選必須安裝有Elasticsearch,請(qǐng)參考 https://www.tech1024.cn/origi... 。

本文基于laravel5.5,其他版本大同小異。

準(zhǔn)備工作

通過composer安裝依賴包

composer require laravel/scout
composer require tamayo/laravel-scout-elastic
基本配置

在config/app.php文件中的providers數(shù)組中加入服務(wù)提供者

// config/app.php
"providers" => [
    // ...
    LaravelScoutScoutServiceProvider::class,
    // ...
    ScoutEnginesElasticsearchElasticsearchProvider::class,
],

使用以下命令生成scout配置文件

php artisan vendor:publish --provider="LaravelScoutScoutServiceProvider"

在config/scout.php中加入elasticsearch的配置

    "elasticsearch" => [
        "index" => env("ELASTICSEARCH_INDEX", "laravel"),
        "hosts" => [
            env("ELASTICSEARCH_HOST", "http://localhost:9200"),
        ],
    ],

然后我們打開.env文件,加入scout和elasticsearch的配置

# scout配置
SCOUT_DRIVER=elasticsearch
SCOUT_PREFIX=

# elasticsearch 配置
ELASTICSEARCH_INDEX=esdemo
# elasticsearch 地址
ELASTICSEARCH_HOST=http://172.30.6.1:9200
創(chuàng)建索引 創(chuàng)建模型并填充數(shù)據(jù)

創(chuàng)建模型app/Student.php,為方便后續(xù)測(cè)試,請(qǐng)先建表和填充數(shù)據(jù),可以手動(dòng)使用sql語(yǔ)句添加數(shù)據(jù),也使用laravel自動(dòng)的數(shù)據(jù)遷移和填充,可以參考 https://www.tech1024.cn/origi...

toArray();

        // Customize array...

        return $array;
    }
}
把所有現(xiàn)有記錄導(dǎo)入到搜索索引里
php artisan scout:import "AppStudent"

是不是導(dǎo)入成功了呢?

php artisan scout:import "AppStudent"

Imported [AppStudent] models up to ID: 500
Imported [AppStudent] models up to ID: 1000
Imported [AppStudent] models up to ID: 1500
Imported [AppStudent] models up to ID: 2000
Imported [AppStudent] models up to ID: 2500
Imported [AppStudent] models up to ID: 3000
Imported [AppStudent] models up to ID: 3500
Imported [AppStudent] models up to ID: 4000
Imported [AppStudent] models up to ID: 4500
Imported [AppStudent] models up to ID: 5000
Imported [AppStudent] models up to ID: 5500
Imported [AppStudent] models up to ID: 6000
Imported [AppStudent] models up to ID: 6500
Imported [AppStudent] models up to ID: 7000
Imported [AppStudent] models up to ID: 7500
Imported [AppStudent] models up to ID: 8000
Imported [AppStudent] models up to ID: 8500
Imported [AppStudent] models up to ID: 9000
Imported [AppStudent] models up to ID: 9500
Imported [AppStudent] models up to ID: 10000
All [AppStudent] records have been imported.

我們?cè)L問es,http://172.30.6.1:9200/esdemo/students_index/_search

是不是已經(jīng)有了剛剛導(dǎo)入的students_index索引數(shù)據(jù)

大功告成
$studens = AppStudent::search("成燕")->get();
dd($studens);

可以填充個(gè)百萬(wàn)條數(shù)據(jù)試試,檢索速度,是不是比直接查詢數(shù)據(jù)庫(kù)要快很多呢?

更多用法請(qǐng)查閱官方文檔 https://www.elastic.co/guide/...

原文: http://www.tech1024.cn/origin...

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

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

相關(guān)文章

  • elastic學(xué)習(xí)筆記

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

    heartFollower 評(píng)論0 收藏0
  • Laravel 基于 Scout 配置實(shí)現(xiàn) Elasticsearch (一)- 準(zhǔn)備工作

    摘要:導(dǎo)語(yǔ)全文搜索是很重要的功能,實(shí)現(xiàn)的方式也有很多種。以下通過和實(shí)現(xiàn)。是用開發(fā)的,并在許可證下作為開源軟件發(fā)布。官方客戶端在和許多其他語(yǔ)言中都是可用的。根據(jù)的排名顯示,是最受歡迎的企業(yè)搜索引擎,其次是,也是基于。 導(dǎo)語(yǔ) 全文搜索是很重要的功能,實(shí)現(xiàn)的方式也有很多種。以下通過 Laravel Scout 和 Elasticsearch 實(shí)現(xiàn)。先來看下各自的介紹 Laravel Scout 為...

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

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

0條評(píng)論

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