結構說明
檔案
下載完 或
git clone 之後,資料夾結構如下,
demo 資料夾下即爲 Elastica 的使用範例,
guide 則是靜態網頁(HTML)的使用說明,Server 連線設定請編輯檔案
demo/Elastica/Core.php,修改其
$config 預設值。
OA-ElasticaSearch/
│
├─ demo/
│ │
│ ├─ Elastica/
│ │ ├─ ...
│ │ └─ ElasticaSearch.php
│ │
│ ├─ searches/
│ │ └─ User.php
│ │
│ └─ index.php
│
├─ guide/
│ └─ ...
│
├─ index.html
│
└─ readme.md
demo 資料夾
guide 資料夾
ElasticaSearch 類別
所有對應 Type 的物件皆繼承於此類別,此提供了多樣的類別方法、變數可以使用,其中包含了 CRUD 所使用的方法,若要刪除 index,也可以使用 deleteIndex 類別方法,如:ElasticaSearch::deleteIndex();。
對應類別(Class)
對應於 Type 的物件,其結構範例如下:
class User extends ElasticaSearch {
static $primary_key = 'id';
static $type_name = 'users';
public function __construct ($data = array ()) {
parent::__construct ($data);
}
}
- 每個物件繼承於 ElasticaSearch,並且於類別開頭設定 primary_key、type_name 值。
- $primary_key - 是用來指定哪個 field 當 _id 之使用。
- $type_name - 則是設定此類別是對應於哪一個 Type。
- 因繼承 ElasticaSearch 類別,所以有 create、createMany、find、update、updateMany、deleteMany、clean 的類別方法可用。
- 因繼承 ElasticaSearch 類別,所以單筆物件有 save、delete 的實體方法 以及 fields 的實體變數可以使用。