ElasticSearch第五篇:基本用法

基礎(chǔ)概念:

一:集群和節(jié)點(diǎn)


image.png
image.png

一個(gè)節(jié)點(diǎn)只能是集群的一部分洒敏。所有的節(jié)點(diǎn)都是通過集群的名字來加入到集群的。
每個(gè)節(jié)點(diǎn)都有自己的名字:master /slave1/slave2

二:基礎(chǔ)概念
索引:含有相同屬性的文檔集合,相當(dāng)于database;
類型:索引可以定義一個(gè)或多個(gè)類型,文檔必須屬于一個(gè)類型,相當(dāng)于table
文檔:文檔是可以被索引的基本數(shù)據(jù)單位涝缝,相當(dāng)于record(一條記錄)

  • 和索引相關(guān)的有“分片”和“備份”
    ES索引默認(rèn)5個(gè)分片,分片指定后不可以修改譬重,備份數(shù)可以修改拒逮。
    為什么要有分片和備份?
    1害幅、假設(shè)索引數(shù)據(jù)量大消恍,造成硬盤壓力大,搜索速度出現(xiàn)瓶頸以现,將索引分為多個(gè)分片狠怨,分?jǐn)倝毫Γ制苍试S用戶進(jìn)行水平擴(kuò)展和拆分邑遏,以及分布式的操作佣赖,可以提高搜索的效率
    2、主分片失敗或者出現(xiàn)問題時(shí)记盒,備份的分片可以代替工作憎蛤,提高了es的可用性,備份的分片還可以執(zhí)行搜索操作纪吮,分?jǐn)偹阉鞯膲毫?/li>

基本用法

RESTFul API
API基本格式:http://ip:port/索引/類型/文檔id
常用http動(dòng)詞:GET/POST/PUT/DELETE

  • DSL 搜索
    DSL (Domain Specific Language)是 E5 提出的基于 json 的搜素方式俩檬,在搜素時(shí)傳入特定的 on 格式的數(shù)據(jù)來完成不同的搜索需求。
    DSL 比URI 搜索方式功能強(qiáng)大碾盟,在項(xiàng)目中建議使用 DSL 方式來完成.
一.創(chuàng)建索引

創(chuàng)建索引方式:非結(jié)構(gòu)化創(chuàng)建 和結(jié)構(gòu)化創(chuàng)建
索引的屬性:粗框框就是分片棚辽,細(xì)框框是分片的備份

非結(jié)構(gòu)化創(chuàng)建:
head插件里索引-新建索引:

image.png
image.png

因?yàn)楸镜貨]有啟動(dòng)集群,所以分片的備份是無效的狀態(tài)冰肴,可以看到圖中的灰色框

結(jié)構(gòu)化創(chuàng)建:

image.png

創(chuàng)建索引成功后屈藐,可以在索引信息中看到mapping里面有值了榔组。

image.png
二.插入 PUT
PUT /megacorp/employee/2
{
    "first_name" : "cici",
    "last_name" :  "xiao",
    "age" :        24,
    "about" :      "I love to running",
    "interests": [ "coding", "music" ]
}
三.修改:直接修改文檔和腳本修改文檔 POST

直接修改文檔:


image.png
image.png

腳本修改文檔:

image.png
image.png

將參數(shù)放到外面注入數(shù)據(jù):

{
    "script" : {
        "lang" :  "painless",
        "inline" :  "ctx._source.age =params.age",
        "params" : {
            "age":100
    }
    }
}
image.png
四.刪除 DELETE
  • 刪除數(shù)據(jù)
    在postman中,delete方式
    127.0.0.1:9200/megacorp/employee/2_update
    刪除id=2_update的數(shù)據(jù)
image.png
image.png
  • 刪除索引
    1.直接利用插件刪除索引
    2.腳本刪除索引
 127.0.0.1:9200/book

成功刪除book索引

image.png
五.查詢 GET
  • 簡單查詢
    127.0.0.1:9200/megacorp/employee/3

  • 條件查詢
    127.0.0.1:9200/megacorp/employee/_search 查詢所有

127.0.0.1:9200/megacorp/employee/_search 查詢所有和指定條數(shù)
{
    "query":{
        "match_all":{}
    },
    "from":1,
    "size":1    
}
127.0.0.1:9200/megacorp/employee/_search 匹配條件和按照年齡排序
{
    "query":{
        "match":{
            "first_name":"cici"
        }
    },
    "sort":[{"age":{"order":"desc"}}
    ]
}
  • 聚合查詢
    單個(gè)分組聚合联逻;按照年齡分組
127.0.0.1:9200/megacorp/employee/_search
{
    "aggs":{//aggs 為聚合查詢的格式:
        "group_by_age":{
            "terms":{
                "field":"age"
            }
        }
    }
}

返回的結(jié)果有數(shù)據(jù)信息和聚合結(jié)果信息(此處只截取了聚合信息):
 "aggregations": {
        "group_by_word_count": {
            "doc_count_error_upper_bound": 0,
            "sum_other_doc_count": 0,
            "buckets": [
                {
                    "key": 24, //年齡為24 // 有一人
                    "doc_count": 1 
                },
                {
                    "key": 25,
                    "doc_count": 1
                },
                {
                    "key": 28,
                    "doc_count": 1
                },
                {
                    "key": 100,
                    "doc_count": 1
                }
            ]
        }
    }

  • 多個(gè)分組聚合:
{
    "aggs":{
        "group_by_age":{
            "terms":{
                "field":"age"
            }
        },
        "group_by_about":{
            "terms":{
                "field":"about"
            }
        }
    }
}
  • 其他聚合查詢
對(duì)所有人的age進(jìn)行統(tǒng)計(jì)
{
    "aggs":{
        "grades_age":{
            "stats":{// 對(duì)所有人的age進(jìn)行統(tǒng)計(jì)
                "field":"age"
            }
        }
    }
}

返回:
  "aggregations": {
        "grades_age": {
            "count": 4,
            "min": 24.0,
            "max": 100.0,
            "avg": 44.25,
            "sum": 177.0
        }
    }
直接指定age的最小值:
{
    "aggs":{
        "grades_age":{
            "min":{//直接指定age的最小值:
                "field":"age"
            }
        }
    }
}
返回:
"aggregations": {
        "grades_age": {
            "value": 24.0
        }
    }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搓扯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子包归,更是在濱河造成了極大的恐慌锨推,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件箫踩,死亡現(xiàn)場離奇詭異爱态,居然都是意外死亡谭贪,警方通過查閱死者的電腦和手機(jī)境钟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來俭识,“玉大人慨削,你說我怎么就攤上這事√酌模” “怎么了缚态?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長堤瘤。 經(jīng)常有香客問我玫芦,道長,這世上最難降的妖魔是什么本辐? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任桥帆,我火速辦了婚禮,結(jié)果婚禮上慎皱,老公的妹妹穿的比我還像新娘老虫。我一直安慰自己,他們只是感情好茫多,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布祈匙。 她就那樣靜靜地躺著,像睡著了一般天揖。 火紅的嫁衣襯著肌膚如雪夺欲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天今膊,我揣著相機(jī)與錄音些阅,去河邊找鬼。 笑死万细,一個(gè)胖子當(dāng)著我的面吹牛扑眉,可吹牛的內(nèi)容都是我干的纸泄。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼腰素,長吁一口氣:“原來是場噩夢啊……” “哼聘裁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起弓千,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤衡便,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后洋访,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體镣陕,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年姻政,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了呆抑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡汁展,死狀恐怖鹊碍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情食绿,我是刑警寧澤侈咕,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站器紧,受9級(jí)特大地震影響耀销,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜铲汪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一熊尉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧桥状,春花似錦帽揪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至士飒,卻和暖如春查邢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背酵幕。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工扰藕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芳撒。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓邓深,卻偏偏與公主長得像未桥,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子芥备,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Solr&ElasticSearch原理及應(yīng)用 一冬耿、綜述 搜索 http://baike.baidu.com/it...
    樓外樓V閱讀 7,262評(píng)論 1 17
  • 1.ElasticSearch的簡介 Elasticsearch的特點(diǎn) 1)可以作為一個(gè)大型分布式集群(數(shù)百臺(tái)服務(wù)...
    __元昊__閱讀 30,322評(píng)論 3 30
  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常萌壳。 O...
    我想起個(gè)好名字閱讀 5,249評(píng)論 0 9
  • 基礎(chǔ)概念 Elasticsearch有幾個(gè)核心概念亦镶,從一開始理解這些概念會(huì)對(duì)整個(gè)學(xué)習(xí)過程有莫大的幫助。 接近實(shí)時(shí)(...
    山天大畜閱讀 2,105評(píng)論 0 4
  • 基本概念 Near Realtime(NRT進(jìn)實(shí)時(shí)) Elasticsearch是一個(gè)進(jìn)實(shí)時(shí)的搜索平臺(tái),這意味著您...
    異步_緩存_隊(duì)排好閱讀 557評(píng)論 0 0