以下由Laravel教學專欄為大家介紹laravel使用es的正確姿勢,希望對需要的朋友有幫助!
Elasticsearch
#但是,你沒辦法直接用 Lucene,必須自己寫程式碼去呼叫它的介面。 Elastic 是 Lucene 的封裝,提供了 REST API 的操作接口,開箱即用。 《elasticsearch全文搜尋實戰》《千萬級資料並發解決方案(理論實戰)》
ES 和Mysql
ES 裡的概念類比於Mysql 如下圖所示:
#倒排索引
#在說倒排索引之前我們先說說什麼是正排索引。正排索引也稱為”前向索引”,它是創建倒排索引的基礎。
如上在查詢一個 keyword 在哪些文件包含的時候,需對所有的文件進行掃描以確保沒有遺漏,這樣就使得檢索時間大大延長,檢索效率低下。這時候我們就用到了倒排索引,先將文檔分詞。
例如我們要查詢『搜尋引擎』這個關鍵字在哪些文件中出現過。首先我們透過倒排索引可以查詢到該關鍵字出現的文檔位置是在1和3中;然後再透過正排索引查詢到文檔1和3的內容並傳回結果。
Laravel 使用ES#安裝外掛程式
## basemkhirat/elasticsearch
是Laravel 中使用ES 的擴展,使用起來非常方便:
##$ composer require basemkhirat/elasticsearch
2)發佈
$ php artisan vendor:publish –provider=”Basemkhirat\Elasticsearch\ElasticsearchServiceProvider”
##這樣我們就安裝好了,如下是我們的連線配置:
'connections' => [ 'default' => [ 'servers' => [ [ "host" => env("ELASTIC_HOST", "127.0.0.1"), "port" => env("ELASTIC_PORT", 9200), 'user' => env('ELASTIC_USER', ''), 'pass' => env('ELASTIC_PASS', ''), 'scheme' => env('ELASTIC_SCHEME', 'http'), ] ], 'index' => env('ELASTIC_INDEX', 'my_index') ]],
servers 裡可以加入我們的叢集設定。該外掛程式的使用方法可藉鏡Laravel 的查詢建構器,支援常用的如使用方法
where、、
whereBetween
whereIn
、
orderBy
、first、get,也支援分頁方法paginate
。 #########$documents = ES::connection(「default」)### ->index(「my_index」)### gt ;get(); # return a collection of results#########設定欄位權重:#########ES::type(“my_type”)->search(“hello” , function($search){### $search->boost(2)->fields([“title” => 2, “content” => 1])###})-> get();#########我們也可以透過修改原始碼擴充自己需要用到的方法,也可以建構原生的查詢語句:###$params['body'] = [ 'aggs' => [ 'all_created' => [ 'terms' => [ 'field' => 'element.raw', 'size' => $this->_mAggsPageSize ], 'aggs' => [ 'sum_pv' => [ 'sum' => ['field' => 'pv'], ], ], ], ], ];########### #結語######
ES 內建分詞器對中分支援並不友好,比較推薦的是 IK分詞器,需要注意的是ik版本需要與ES的版本號保持一致。
以上是關於laravel使用es的正確姿勢的詳細內容。更多資訊請關注PHP中文網其他相關文章!

taskManagementsToolSareEssentialForefectiverMototeprojectManagementbyPrioritizingTaskSandTrackingProgress.1)USETOOLSLIKETRELLOANDASANATASANATOSETPRIORITIONTAGS.2)

Laravel10enhancesPerformancEthroughSeveralKeyKeyFeatures.1)itintroducesquereBuilderCachingTordorcachingTordOuctedSataBaseload.2)itoptimiesseloizeseloquentmodelloAdingwithlazyproxies.3)

最佳的全棧Laravel應用部署策略包括:1.零停機部署,2.藍綠部署,3.持續部署,4.金絲雀發布。 1.零停機部署使用Envoy或Deployer自動化部署過程,確保應用在更新時保持可用。 2.藍綠部署通過維護兩個環境實現無停機部署,並允許快速回滾。 3.持續部署通過GitHubActions或GitLabCI/CD自動化整個部署流程。 4.金絲雀發布通過Nginx配置,將新版本逐步推廣給用戶,確保性能優化和快速回滾。

toscalealaravelApplication有效,焦點databaseSharding,緩存,負載平衡和microservices.1)實現DataBasEshardingTodistaCripedataCrossmultipledataBasesForimProvesforimPrevperformance.2)uselaravel'scachingsystemystemystemystemywithredsormememememememcachedtebachedtebab

doovercomecommunicationbarriersIndistributedTeams,使用:1)VideoCallSforface-to-Faceinteraction,2)setClearresponsEtimepections,3)chooseappropropropraproproprapropropriatecommunicationTools,4)CreatseateAteAteAteamCommunicationGuide和5)建立PemersonalBoundariestAriestOpeopReventBreventBurniationBurnication.the

laravelbladeenhancesfrontendtemplatinginflatinginflationll-stackprojectsbyferingCleanSyntaxandaxandpoperfelfulfeatures.1)itallowsforeasyvariableasyvariabledisplayandControlstructures.2)bladesuportsuportsuportscreatingingingingingingingingingingangingandredreingscomponents components components components,aidinginmanagingcomplexuis.3)

laravelisidealforll-stackapplicationsduetoitselegantsyntax,complastissionecosystem和perperatedfulfeatures.1)useeloquentormforintuivelbackenddatamanipulation,butavoidn 1queryissues.2)

forremotework,iusezoomforvideOcalls,Slackformessing,trelloforprojectmanagement,and giThubForCodeCollaboration.1)Zoomisreliable forlailible forlargemeetingsbuthastimelimitsonthefreeversion.2)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中