PHP Elasticsearch的基本使用方法

2021-10-06 15:25:37 字數 4494 閱讀 3047

}

一、連線elasticsearch:

1、elasticsearch開啟之後,可以直接通過檢視基本資訊。

2、將composer vendor下的檔案複製到ot thinkphp\library\vendor\elasticsearch目錄下。

3、連線elasticsearch,

public$es;

/**

* 初始化

*/

publicfunction_initialize()

其中build()方法會將clientbuilder 物件轉換為乙個client物件。

二、elasticsearch-php使用:

1、建立index:

關於index與type,這裡特別糾正乙個說法,index 就像關係型資料庫裡的 database, type 就像 database 裡的 table,這種理解是錯誤的。

/**

* 建立索引

*/

publicfunctioncreateindex()

在使用elasticsearch-php api的時候,引數$params一般是用陣列來,因為陣列結構能很方便的轉換為json。其中

_default_是預設配置,其他配置的預設值都與_default_的相同。

_all設定true會將所有原始文件拼接在一起額外儲存,

_source設定為true會儲存原始文件,設定false一般用在只需要索引出文件的標題或者url,通過url去訪問文件,而不需要在es中儲存乙份文件內容的場景。

最後,注意同一index下不同type中的同名稱欄位的資料型別與配置也必須相同!

2、刪除index:

/**

* 刪除索引

*/

publicfunctiondeleteindex()

publicfunction

$params= [

'index'=>'test'

];

$res=$this$params);

}

publicfunction

$params= [

'index'=>'test',

'type'=>'my_type',

'body'=> [

'my_type'=> [

'properties'=> [

'idcard'=> [

'type'=>'integer'

]

]

]

]

];

$res=$this$params);

}

5、插入單條 document:

publicfunctionpostsindoc()

6、插入多條 document:

publicfunctionpostbulkdoc()

$res=$this->es->bulk($params);

}

7、通過id獲取document:

publicfunctiongetdocbyid()

8、通過id更新document:

publicfunctionupdatedocbyid()

9、通過id刪除document:

publicfunctiondeletedocbyid()

注意:以上通過id的三個操作,如果未找到id,elasticsearch-php會直接報錯!

10、搜尋document:

publicfunctionsearchdoc(){

$params= [

'index'=>'test',

'type'=>'my_type',

'body'=> [

'query'=> [

'constant_score'=> [//非評分模式執行

'filter'=> [//過濾器,不會計算相關度,速度快

'term'=> [//精確查詢,不支援多個條件

'name'=>'reimu0'

]

]

]

]

]

];

$res=$this->es->search($params);

這裡只是搜尋的乙個示例。

UGUI Scroll View的基本使用方法

1.效果圖 2.目標功能 1 在左側有限空間內放置一系列的toggle,滑動可以選擇不同toggle。2 滑動文字頁面 滑動條,可以看到所有文字 3.實現工具 scroll view 滾動檢視,可在gameobject ui scroll view處建立 4.scroll view解析 1 在scr...

CAGradientLayer基本使用方法

gradient 本身就是梯度的意思,所以在這裡就是作為漸變色來理解 1,cagradientlayer用於處理漸變色的層結構 2,cagradientlayer的漸變色可以做隱式動畫 3,大部分情況下,cagradientlayer時和cashapelayer配合使用的。4,cagradientl...

windows下boost庫的基本使用方法

因為boost都是使用模板的技術,所以所有 都是寫在乙個.hpp標頭檔案中。這樣boost中的大部分內容是不需要編譯生成相應的鏈結庫,只需要設定下面的包含目錄 或者設定一下環境變數 在原始檔中包含相應的標頭檔案就可以使用了。少部分庫需要生成鏈結庫來使用。下面介紹完整安裝boost庫的方法 2 解壓檔...