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

大神請看

本文不必定寫的所有都對,若是有哪裏寫得很差或者不對,能夠提但請不要噴,不喜勿看繞道走就是了,雖然有可能在一些小知識點上會誤導小白,可是仍是能夠看看基礎的ES操做,對於使用仍是一點幫助的php

ES簡介

這裏不對ES進行介紹,哈哈哈哈哈哈html

PHP的ES使用

PHP中使用ES主要經過官方提供的包 elasticsearch/elasticsearch 進行開發,但這個教程不直接使用這個包,用另一個親身實踐以爲還不錯的包 ruflin/elastica 進行開發。sql

ES版本

本教程的ES版本爲7.2,已經沒有了type的概念,不必定適用於小於7.2的版本,簡單點說就是,把ES比喻成Mysql數據庫,有type的時候,index就是一個數據庫,type就是數據庫的一個個表,這種狀況下一個項目中通常只有一個index,多個type;沒有type以後,能夠把index理解成一個個表,一個項目變成了多個index。數據庫

入門步驟

通常來講,咱們用ES就是爲了作搜索,作搜索咱們用得更多的實際上是數據庫,因此就涉及到如下這些搜索:模糊匹配,精確匹配,類數據的In查詢,And查詢,Or查詢,複合查詢,Between查詢等等等等....由於ES的查詢語法確定跟Mysql徹底不同,因此咱們要看學習一下,還有相關的基礎搜索相關的知識。api

此處咱們先簡要介紹一下教程的步驟bash

  1. 先簡要介紹一下Index的建立與刪除,對ES相關的API進行簡要介紹並使用 ruflin/elastica 進行代碼實現
  2. 介紹數據(document)與Index的增刪改查,也是對ES相關的API進行簡要介紹並用代碼實現
  3. 有數據以後,咱們要進行查詢,第三步就進行簡單的查詢講解,這一步經過API來理解整個查詢的代碼實現是比較簡單的,我就是這麼搞的
  4. 介紹一下ES的一些查詢認知誤區,講一下分詞器和基礎的查詢規則
  5. 介紹一下Index的mapping和setting的相關配置,真 · 簡單介紹,不會複雜,只教如何配置和修改

ES的官方文檔

www.elastic.co/guide/en/el…app

PHP開發包ruflin/elastica的官方文檔

elastica.io/composer

直接使用composer安裝ruflin/elasticaelasticsearch

composer install "ruflin/elastica" -vvv
複製代碼

建立Index,只建立,不進行任何配置

相關的文檔ide

www.elastic.co/guide/cn/el…

www.elastic.co/guide/en/el…

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->create();
}
// 到這裏就完成了一個最簡單的Index建立,tips:插入數據時,若是Index沒有建立則會自動建立,後續說到數據插入時再講一次
複製代碼

刪除Index

相關的文檔

www.elastic.co/guide/cn/el…

www.elastic.co/guide/en/el…

DELETE /index名稱

不傳參
複製代碼

代碼實現

// 縮略客戶端鏈接代碼
$index = $client->getIndex($indexName);
// 若是Index存在則刪除
if ($index->exists()) {
	$index->delete();
} 
複製代碼

本節完

是否是感受很簡單,哈哈哈哈哈哈

相關文章
相關標籤/搜索