elasticsearch提供了Rest風格的API,即http請求接口mysql
Elasticsearch也是基於Lucene的全文檢索庫,本質也是存儲數據,不少概念與MySQL相似的。sql
索引(indices) | Databases數據庫 |
---|---|
類型(type) | Table數據庫 |
文檔(Document) | Row行 |
字段(Field) | Columns |
put book { "settings":{ "number_of_shards":1, /*分片數量*/ "number_of_replicas":0 /*副本數量*/ } }
get 索引庫名數據庫
delete 索引庫名json
建立索引庫,就至關於mysql建立「數據庫」。接着咱們來配置映射,至關於建立「表結構」。app
PUT /索引庫名/_mapping/類型名稱 { "properties": { "字段名": { "type": "類型", "index": true, "store": true, "analyzer": "分詞器" } } }
/* 1.先建立索引 */ put czxy /* 2.建立映射關係 */ put czxy/_mapping/book { "properties": { "title": { "type": "text", "analyzer": "ik_max_word" }, "images": { "type": "keyword", "index": "false" }, "price": { "type": "float" } } }
get /索引庫名/_mappingelasticsearch
index影響字段的索引狀況.net
index的默認值就是true,也就是說你不進行任何配置,全部字段都會被索引。可是有些字段是咱們不但願被索引的,好比商品的圖片信息,就須要手動設置index爲false。code
是否將數據進行額爲存儲。blog
Elasticsearch在建立文檔索引時,會將文檔中的原始數據備份,保存到一個叫作‘_source’的屬性中。並且咱們能夠經過過濾‘ _source’來選擇哪些要顯示,哪些不顯示。索引
而若是設置store爲true,就會在‘_source’之外額爲存儲一份數據,多餘,所以通常咱們都會將store設置爲false,事實上,store的默認值就是false。