PHP的ES入門(一) Index的建立和刪除

2021-10-04 08:00:49 字數 1723 閱讀 1947

本文不一定寫的全部都對,如果有**寫得不好或者不對,可以提但請不要噴,不喜勿看繞道走就是了,雖然有可能在一些小知識點上會誤導小白,但是還是可以看看基礎的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都是塊級作用域。如何理解塊級作...