es使用–新建、刪除、增刪改數據
# 進入bin目錄
cd /czz/elsearch/bin
# 後台啟動(不加-d參數則是前台啟動,日誌在控制台)
# 後台啟動日誌如果不配置,在es目錄的logs下面
./elasticsearch -d
裝完本機訪問//127.0.0.1:9200/
{
"name" : "node-1",
"cluster_name" : "my-application",
"cluster_uuid" : "wIk4z-UA***9cusPopZFBw",
"version" : {
"number" : "****",
"build_flavor" : "default",
"build_type" : "***",
"build_hash" : "ef48eb35cf30adf****4db14086*1*e8aabd07ef6fb113f",
"build_date" : "2020-03-26T06:34:37.794943Z",
"build_snapshot" : false,
"lucene_version" : "8.4.0",
"minimum_wire_compatibility_version" : "****",
"minimum_index_compatibility_version" : "***-beta1"
},
"tagline" : "You Know, for Search"
}
看到類似的返回即表示安裝成功
ElasticSearch中的基本概念
索引
① 索引(index)是es對邏輯數據的邏輯存儲,所以它可以分為更小的部分。類似於關係型資料庫的table
② 索引的結構是為快速有效的全文索引準備的,特別是它不存儲原始值。
③ Elasticsearch可以把索引存放在一台機器或者分散在多台伺服器上,每個索引有一或多個分片,每個分片可以有多個副本。
文檔
① 存儲在Elasticsearch中的主要實體叫文檔(document)。相當於關係型資料庫的一行數據
② es的文檔中,相同欄位必須有相同類型。
③ 文檔由多個欄位組成,每個欄位可能多次出現在一個文檔里,這樣的欄位叫多值欄位(multivalued)。 每個欄位的類型,可以是文本、數值、日期等。欄位類型也可以是複雜類型,一個欄位包含其他子文檔或者數 組。
映射
① 所有文檔寫進索引之前都會先進行分析,如何將輸入的文本分割為詞條、哪些詞條又會被過濾,這種行為叫做 映射(mapping)。一般由用戶自己定義規則。
文檔類型
① 在Elasticsearch中,一個索引對象可以存儲很多不同用途的對象。
② 每個文檔可以有不同的結構。
③ 不同的文檔類型不能為相同的屬性設置不同的類型。例如,在同一索引中的所有文檔類型中,一個叫title的欄位必須具有相同的類型。
RESTful API
①創建索引
PUT /czz_test
{
"settings": {
"index": {
"number_of_shards": "1", #分片數,一般單機一片即可
"number_of_replicas": "0" #副本數
}
}
}
②刪除索引
DELETE /czz_test
{
"acknowledged": true
}
③插入數據
URL規則: POST /{索引}/{類型}/{id}
POST /czz_test/user/1001 #不指定ID插入時會自動生成
{
"id":1001,
"name":"張三",
"age":20,
"sex":"男"
}
返回:
{
"_index": "czz_test",
"_type": "user",
"_id": "0001",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 0,
"_primary_term": 1
}
④更新數據
在es中數據是不可修改的,但是可以通過覆蓋的方式進行更新,此時_version屬性值會加一
PUT /czz_test/user/1001
{
"id":1001,
"name":"張三",
"age":21,
"sex":"女"
}
如果要僅僅更新某個欄位,需要在url路徑增加_update標記,同時需要將要更新的欄位放在doc裡面,同時_version也會加一
#注意:這裡多了_update標識
POST /czz_test/user/1001/_update
{
"doc":{
"age":23
}
}
⑤刪除數據
DELETE /czz_test/user/1001 #刪除id為1001的數據
DELETE /czz_test/ #刪除該索引的所有數據
歡迎大家留言,以便於後面的人更快解決問題!另外亦歡迎大家可以關注我的微信公眾號,方便利用零碎時間互相交流。共勉!
路漫漫其修遠兮,吾將上下而求索。。。