本文不一定寫的全部都對,如果有**寫得不好或者不對,可以提但請不要噴,不喜勿看繞道走就是了,雖然有可能在一些小知識點上會誤導小白,但是還是可以看看基礎的es操作,對於使用還是一點幫助的
這裡不對es進行介紹,哈哈哈哈哈哈
php中使用es主要通過官方提供的包 elasticsearch/elasticsearch 進行開發,但這個教程不直接使用這個包,用另外乙個親身實踐覺得還不錯的包 ruflin/elastica 進行開發。
本教程的es版本為7.2,已經沒有了type的概念,不一定適用於小於7.2的版本,簡單點說就是,把es比喻成mysql資料庫,有type的時候,index就是乙個資料庫,type就是資料庫的乙個個表,這種情況下乙個專案中一般只有乙個index,多個type;沒有type之後,可以把index理解成乙個個表,乙個專案變成了多個index。
此處我們先簡要介紹一下教程的步驟
先簡要介紹一下index的建立與刪除,對es相關的api進行簡要介紹並使用 ruflin/elastica 進行**實現
介紹資料(document)與index的增刪改查,也是對es相關的api進行簡要介紹並用**實現
有資料之後,我們要進行查詢,第三步就進行簡單的查詢講解,這一步通過api來理解整個查詢的**實現是比較簡單的,我就是這麼搞的
介紹一下es的一些查詢認知誤區,講一下分詞器和基礎的查詢規則
直接使用composer安裝ruflin/elastica
composer install "ruflin/elastica" -vvv
相關的文件
put
/index名稱
不傳參
**實現
// 建立es客戶端
$config=[
'host'
=>
'127.0.0.1'
,'port'
=>
9200,]
;$client
=new
client
($config);
// 建立index
$indexname
='test'
;$index
=$client
->
getindex
($indexname);
// 如果index不存在則建立if(
!$index
->
exists()
)// 到這裡就完成了乙個最簡單的index建立,tips:插入資料時,如果index沒有建立則會自動建立,後續說到資料插入時再講一次
相關的文件
delete
/index名稱
不傳參
**實現
// 縮略客戶端連線**
$index
=$client
->
getindex
($indexname);
// 如果index存在則刪除if(
$index
->
exists()
)
是不是感覺很簡單,哈哈哈哈哈哈 php查詢es所有的index
php查詢es資料,yii2.0有對應的query類,根據查詢時間可以獲取所需要的index和type,但是有時候也會有資料異常的情況下,比如說我查詢7月份的資料但是沒有7月份的index,yii2.0處理一起查詢6月和7月份的資料,7月份索引不存在就返回404,這樣6月份的資料也查詢不出來的現象,...
PHP的ES入門(二) 資料的增刪改
本文不一定寫的全部都對,如果有 寫得不好或者不對,可以提但請不要噴,不喜勿看繞道走就是了,雖然有可能在一些小知識點上會誤導小白,但是還是可以看看基礎的es操作,對於使用還是一點幫助的 es資料的簡單增刪改 這一節主要講es的增刪改查,主要從 實踐入手 增刪改資料 插入資料的時候,需要給每條資料都設定...
ES6入門一(常見的面試點)
在es6之前,變數宣告關鍵字 var a 0 var a 99 2 var會造成變數提公升 function rr console.log a 輸出666 es6變數宣告關鍵字 let 變數宣告 const 常量宣告。解決了var前面提到的兩個缺點。let以及const都是塊級作用域。如何理解塊級作...