ElasticSearch入門實戰1

2021-09-20 05:35:44 字數 3087 閱讀 8932

document資料格式

電商**商品管理案例背景介紹

簡單的集群管理

商品的crud操作(document curd)

面向文件的搜尋分析引擎

public class employee 

private class employeeinfo

employeeinfo info = new employeeinfo();

info.setbio("youdi");

info.setage(24);

info.setinteresets(new string);

employee employee = new employee();

employee.setemail("@");

employee.setinfo(info);

employee物件:裡面包含了employee類自己屬性。需要儲存在兩張表。

使用orm.資料庫是扁平化的,不能體現出物件導向的結構。

提供功能如下:

對商品資訊進行crud

執行簡單的全文檢索,以及複雜的phrase檢索

對於全文檢索結果,可以進行高亮顯示

對資料進行簡單的聚合分析

快速檢查集群的健康狀況

es提供了一套cat api,可以檢視es中各種各樣的資料

get /_cat/health?pretty

epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent

1524842572 23:22:52 elasticsearch_youdi yellow 1 1 10 10 0 0 10 0 - 50.0%

檢視status

green: 每個索引的primary shard和replica shard 都是active狀態

yellow: 每個索引的primary shard是active狀態,但是部分replica shard不是active狀態,處於不可用的狀態

red: 不是所有的索引的primary shard都是active狀態,部分縮影有資料丟失

為什麼現在會處於yellow狀態?

primary shard replica shard沒有第二個節點

快速檢視集群中所有索引?

get /_cat/indices?v

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

yellow open website -nvtisruruo1buienwh7vw 5 1 1 0 5.5kb 5.5kb

yellow open megacorp 3ylg1frptdynsetmzbdihg 5 1 3 0 17.5kb 17.5kb

簡單的索引操作

put /test_index?pretty

delete /test_index?pretty

新增商品

put /index/type/id

put /products/goods/1

, "_seq_no": 0,

"_primary_term": 1

}

查詢商品

get /products/goods/1

}

更新操作

替換方式: 必須提交所有的資訊

put /products/goods/1

, "_seq_no": 1,

"_primary_term": 1

}put /products/goods/1

get /products/goods/1

}post products/goods/1/_update},

"_seq_no": 4,

"_primary_term": 1

}

刪除文件

delete /products/goods/1

, "_seq_no": 5,

"_primary_term": 1

}

query string search

query dsl

query filter

full-text search

搜尋全部商品

get /products/goods/_search

, "hits": }]

}}, "hits": },}

]}}

},

搜尋賬號名字中有ber,而且按照年齡排序

get /bank/_doc/_search?q=firstname:virginia&sort=age:des

, "hits": }]

}}

query dsl

dsl:domain specified language 特定領域的語言

查詢所有的account

http request body :請求體,可以使用json的格式構建查詢語法,比較方便,可以構建各種複雜的語法。

get /bank/_doc/_search

}}, "hits":

},},

},},

},},

},},},}

]}}

ElasticSearch使用入門

es的安裝 啟動 cd.elasticsearch 2 4 3 bin elasticsearch bin elasticsearch d 後台執行 es安裝驗證 注意 預設啟動的時候es繫結的網路ip是本機127.0.0.1,只能通過這個ip訪問 兩種修改方式 1 修改config elastic...

elasticsearch學習入門

由於es更新很快,本文這類快餐式的記錄僅供參考 es的官網有比較全面的api,但我看過以後感覺api的層次還是有點亂,至少沒有mongodb的文件那麼簡單易讀。從簡單的應用開始慢慢認識es的。比如要搭建個中文新聞資訊的搜尋引擎,新聞有 標題 內容 作者 型別 發布時間 這五個字段 我們要提供 標題和...

elasticsearch 入門學習

原文 1 思考 大規模資料如何檢索 當系統資料量上了10億 100億條的時候,我們在做系統架構的時候通常會從以下角度去考慮問題 2 傳統資料庫的應對解決方案 對於關係型資料,我們通常採用以下或類似架構去解決查詢瓶頸和寫瓶頸 3 非關係型資料庫的解決方案 對於nosql資料庫,以mongdb為例,其它...