來源:https://mp.weixin.qq.com/s/46fuveML5jYWlxhsuslX6w
索引簡(jiǎn)介
? ? 索引是具有相同結(jié)構(gòu)的文檔集合,我們對(duì)elasticsearch的大部分操作都是 基于索引來完成法精,在Elasticsearch中,文檔歸屬于一種?類型(type)?,在 5.X 版本中策治,一個(gè) index 下可以創(chuàng)建多個(gè) type驶忌;在 6.X 版本中,一個(gè) index 下只能存在一個(gè) type收苏;在 7.X 版本中氏豌,直接去除了 type 的概念喉酌,就是說 index 不再會(huì)有 type。而類型存在于索引(index)中泵喘。
Relational DB ??Databases??Tables???Rows ???Columns關(guān)系型數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)表行列??Elasticsearch?Indices??Types??Documents??FieldsEls?索引類型文檔域(字段)
1.es不支持事務(wù)泪电。
2.也沒有oracle的用戶的概念,es有安全控制是通過xpack實(shí)現(xiàn)纪铺,但是是針對(duì)訪問全局的安全控制相速。
3.另外也不支持類似數(shù)據(jù)庫(kù)中通過外鍵的復(fù)雜的多表關(guān)聯(lián)操作。
索引管理
創(chuàng)建索引
PUT /user_info
可以看出默認(rèn)是一個(gè)分片一個(gè)副本鲜锚,副本未分配突诬,一個(gè)索引的分片數(shù)一經(jīng)創(chuàng)建后不能在修改苫拍,雖然新版提供了修改功能,但是我們可以看到它修改后也是新建立的索引旺隙,原來的索引并沒有變化怯疤。
查看某個(gè)索引的信息
? ? ?創(chuàng)建索引與創(chuàng)建關(guān)系型數(shù)據(jù)庫(kù)是一樣的,注意elasticsearch索引名不能出現(xiàn)大寫字母催束,如有多個(gè)字母一下劃線區(qū)分。如創(chuàng)建用戶信息?user_info
查看索引
? ? 使用GET方法加上_setting參數(shù)可以查看一個(gè)索引的所有配置信息伏社,例如查看user_info索引的設(shè)置信息抠刺,命令如下:
查看索引的信息
GET user_info/_settings
查看配置可以看到確實(shí)是number_of_shards一個(gè)number_of_replicas一個(gè)
修改索引
? ?修改索引的副本,es支持已經(jīng)存在的索引副本修改摘昌,我們把user_info修改2個(gè)副本
1速妖、dsl修改
PUT user_info/_settings
{
?"number_of_replicas":2
}
查看索引信息
索引別名
? ? 索引別名就是給一個(gè)索引或者多個(gè)索引起的另一個(gè)名字,索引別名是一個(gè)非常有用的功能聪黎,尤其在數(shù)據(jù)要重新導(dǎo)入時(shí)可以很優(yōu)雅的切換數(shù)據(jù)為名為user_info的索引罕容,創(chuàng)建別名user_info_alicas。
創(chuàng)建別名
PUT ?/_aliases
{
??????"actions":[{"add":{"index":"user_info","alias":"user_info_alicas"}}]
}
可以看到已經(jīng)給user_info建立了索引
刪除別名
移除別名:
PUT ??/_aliases
{
"actions":[{"remove":{"index":"user_info","alias":"user_info_alicas"}}]
}
索引模板
? ?針對(duì)一批大量數(shù)據(jù)存儲(chǔ)的時(shí)候需要使用多個(gè)索引庫(kù)稿饰,如果手工指定每個(gè)索引庫(kù)的配置信息(settings和mappings)的話就很麻煩了锦秒。所以,這個(gè)時(shí)候喉镰,就存在創(chuàng)建索引模板的必要了旅择。
創(chuàng)建模板
PUT _template/template_1
{
??"index_patterns": ["te*", "bar*"],
??"settings": {
????"number_of_shards": 1
??},
??"mappings": {
??????"_source": {
????????"enabled": false
??????},
??????"properties": {
????????"host_name": {
??????????"type": "keyword"
????????},
????????"created_at": {
??????????"type": "date",
??????????"format": "yyyy-MM-dd"
????????}
? ? ? }
??}
}
刪除索引模板
DELETE?/_template/template_1
來源:https://mp.weixin.qq.com/s/pgYIzfEwGSLjTx7xOuAILg