ElasticSearch基礎(chǔ)

1,基礎(chǔ)概念

1)由Java開發(fā),基于Restful Web接口,分布式的多用戶,可擴(kuò)展,高可用的全文搜索和分析引擎。store, search, and analyze big volumes of data
eg:收集日志,分析日志;收集、分析交易數(shù)據(jù);存儲數(shù)據(jù)庫大表到es,用于檢索和聚合。
2)基本概念。
---Near Realtime NRT近實時,從索引文檔到該文檔可被查找,通常在1s內(nèi)。
---Cluster 集群,共享同一個cluster name的node(server)集合,集群保存了所有的數(shù)據(jù),并在各節(jié)點之上提供索引和搜索功能。一個節(jié)點只能屬于一個集群
查看集群的健康狀態(tài)curl 172.17.6.11:9200/_cluster/health?pretty
查看具體索引的健康狀態(tài)curl 172.17.6.11:9200/_cluster/health/dby_course_info?pretty
---Node 節(jié)點,一個啟動時分配uuid的server。存儲數(shù)據(jù),參與集群的索引和查找。每個節(jié)點都能使用http和客戶端通信,使用tcp和內(nèi)部節(jié)點通信
---Index 索引,有相同特點的documents的集合。名稱必須小寫,通過name標(biāo)識,來操作(索引,查找,更新,刪除)index內(nèi)的document。(相當(dāng)于db)
---Type 類型,一個Index可以擁有多個type,可以定義為擁有共同字段(field)的文檔集合。(相當(dāng)于table)
---Document 文檔,使用JSON描述的,可以被索引的基本信息單元。(相當(dāng)于記錄)
---Field域,
3)Shard分片和Replica副本。
---目的:水平拆分和擴(kuò)展容量;支持在多個分片之間并發(fā)和并行操作,提高吞吐量。
創(chuàng)建索引時可以指定number_of_shards主分片的數(shù)量,默認(rèn)為5個(一個分片的容量可達(dá)到20億條文檔)。
---Replica 副本,是一個index所有shards的拷貝,創(chuàng)建索引時可以指定number_of_replicas副本的數(shù)量,默認(rèn)為1。(5個primary shard, 5個replica shard)。
---replicas機(jī)制是索引級別的,可以動態(tài)修改replicas副本的數(shù)量,但是不能修改分片的個數(shù)。
---目的:解決node/shard宕掉之后的高可用;提高查詢的并發(fā),可以并行在所有副本上執(zhí)行查找。

2,Mapping映射(相當(dāng)于表結(jié)構(gòu))

1)一個Index可以有多個Mapping type,每個document都屬于一個Type類型,每個Type都有自己的Mapping映射,存儲field type和field信息。

image.png

dynamic mapping 規(guī)則,可以不定義直接使用mapping。
image.png

2)查看type對應(yīng)的mapping映射curl 172.17.6.11:9200/dby_course_info/_mapping/course_info?pretty。查看index中type對應(yīng)的mapping。
3)mapping還可以設(shè)置關(guān)聯(lián)到type類型上的元數(shù)據(jù),Meta-fields元數(shù)據(jù)字段,以下劃線開頭,eg: _index, _type, _id, and _source fields.
image.png

properties屬性(fields)。

{
    "properties": {
        "roomId": {
            "type": "text",
            "fields": {
                "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                }
            }
        }
    }
}

4)創(chuàng)建mapping。
image.png

3,template模板

1)查看模板。curl 172.17.6.11:9200/_template/dby_template?pretty
"template" : "dby_*" : 聲明模板對那些index有效。

2)模板包括setting和mapping。對于所有te開頭的index都生效。
當(dāng)創(chuàng)建一個新的索引,以te開頭時,匹配成功后會按照settings和mappings創(chuàng)建一個新的索引。

{
    "template": "te*",
    "settings": {
        "number_of_shards": 5,
        "number_of_replicas": 1
    },
    "mappings": {
        "type1": {
            "_source": {
                "enabled": false
            }
        }
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容