restfulAPI的基本操作

目的

? ? ? ? 1.學(xué)習(xí)elasticsearch初體驗(yàn),更快了解elasticsearch的魅力

? ? ? ? 2.作為日常開(kāi)發(fā)操作elasticsearchAPI的參考

常用API

IK分詞器

? ? ? ? 即把一段中文或者別的劃分成一個(gè)個(gè)的關(guān)鍵字怠蹂,我們?cè)谒阉鲿r(shí)候會(huì)把自己的信息進(jìn)行分詞抗愁,會(huì)把 數(shù)據(jù)庫(kù)中或者索引庫(kù)中的數(shù)據(jù)進(jìn)行分詞锐朴,然后進(jìn)行一個(gè)匹配操作殷费,默認(rèn)的中文分詞是將每個(gè)字看成一個(gè)詞追驴。有時(shí)我們就要搜索固定一個(gè)詞組眉枕,比如"我愛(ài)學(xué)習(xí)"恶复;如果不用分詞器,就會(huì)拆分為"我"齐遵、"愛(ài)"寂玲、"學(xué)"、"習(xí)"這種或類似的情況梗摇,顯然不是我們想要的拓哟,所以需要使用中文分詞器IK來(lái)解決。

? ? ? ? IK提供了兩個(gè)分詞算法:ik_smart和ik_max_word伶授,其中ik_smart為最少切分断序、ik_max_word為最細(xì)粒度劃分

GET _analyze

{

"analyzer": "ik_smart",

"text": "我愛(ài)學(xué)習(xí)"

}

#IK分詞器算法 最細(xì)粒度劃分

GET _analyze

{

? "analyzer": "ik_max_word",

? "text": "我愛(ài)學(xué)習(xí)"

}

創(chuàng)建索引

# 方式一:直接創(chuàng)建索引,默認(rèn)分片和備份數(shù)量為1

PUT test1

# 方式二:創(chuàng)建索引糜烹,設(shè)置分片數(shù)量為5违诗、備份數(shù)量為1

PUT test2

{

? "settings": {

? ? "number_of_replicas": 1,

? ? "number_of_shards": 5

? }

}

# 方式三:創(chuàng)建索引,設(shè)置分片數(shù)量為5疮蹦、備份數(shù)量為1, 同時(shí)設(shè)置關(guān)系型結(jié)構(gòu)诸迟,類似表結(jié)構(gòu),分片和備份可不設(shè)置愕乎,有默認(rèn)值

PUT test3

{

? "settings": {

? ? "number_of_replicas": 1,

? ? "number_of_shards": 5

? },

? "mappings": {

? ? "properties": {

? ? ? "name": {

? ? ? ? "type": "keyword"

? ? ? },

? ? ? "age": {

? ? ? ? "type": "integer"

? ? ? },

? ? ? "birthday": {

? ? ? ? "type": "date",

? ? ? ? "format": "yyyy-MM-dd"

? ? ? }

? ? }

? }

}

刪除索引

DELETE test1

查看索引

GET test1

插入文檔數(shù)據(jù)

#(/{index}/_doc/{id}, /{index}/_doc, or /{index}/_create/{id})

#方式一: put方式必須指明id

PUT test1/_doc/1

{

? "name":"狂神說(shuō)",

? "age":3

}

#方式二: id選填阵苇,不指明時(shí)采用uuid

POST test3/_doc

{

? "name":"狂神說(shuō)22",

? "age":311

}

#方式四:?

PUT test1/_create/2

{

? "name":"狂神說(shuō)",

? "age":3

}

PUT test3/_create/2

{

? "name":"狂神說(shuō)22",

? "age":3,

? "birthday":"1997-02-01"

}

刪除文檔

DELETE test1/_doc/1

修改文檔數(shù)據(jù)

# 方式一: put請(qǐng)求,全覆蓋存在id的數(shù)據(jù)感论,故如name不傳值時(shí)绅项,會(huì)將name置空,如果id不存在則為新增

PUT test1/_doc/1

{

? "name":"狂神說(shuō)",

? "age":3

}

# 方式二: post請(qǐng)求,全覆蓋存在id的數(shù)據(jù)比肄,故如name不傳值時(shí)快耿,會(huì)將name置空囊陡,如果id不存在則為新增

POST test3/_doc/1

{

? "name":"狂神說(shuō)22",

? "age":311

}

# 方式三: post請(qǐng)求, 按指定id修改指定字段,該方法已過(guò)時(shí)

POST test3/_doc/1/_update

{

? "doc":{

? ? "name": "狂神說(shuō)33"

? }

}

# 方式四: post請(qǐng)求, 按指定id修改指定字段, 推薦

POST test3/_update/1

{

? "doc":{

? ? "name": "狂神說(shuō)3657573"

? }

}

基本查詢

# 方式一: 最簡(jiǎn)單的查詢

GET test3/_doc/1

# 方式二: 查詢索引全部數(shù)據(jù)

GET test1/_search

{

? "query": {

? ? "match_all": {}

? }

}

# 方式三: 查詢索引指定字段數(shù)據(jù)

GET test1/_search

{

? "query": {

? ? "match_all": {}

? },

? "_source": ["name"]

}

# 方式四: 查詢索引指定字段數(shù)據(jù)

#匹配含有name的文檔數(shù)據(jù)掀亥,如果name的類型為keyword不會(huì)走分詞器解析

#match是會(huì)使用分詞器解析的

GET test1/_search

{

? "query": {

? ? "match": {

? ? ? "name": "狂神說(shuō)"

? ? }

? }

}

#方式五:term直接精確查詢撞反,通過(guò)倒排索引查詢,效率高

GET test1/_search

{

? "query": {

? ? "match": {

? ? ? "age": "3"

? ? }

? }

}

復(fù)雜查詢

#排序

GET test1/_search

{

? "query": {

? ? "match": {

? ? ? "name": "狂神說(shuō)"

? ? }

? },

? "sort": [

? ? {

? ? ? "age": {

? ? ? ? "order": "desc"

? ? ? }

? ? }

? ]

}

#分頁(yè)

GET test1/_search

{

? "query": {

? ? "match": {

? ? ? "name": "狂神說(shuō)"

? ? }

? },

? "sort": [

? ? {

? ? ? "age": {

? ? ? ? "order": "desc"

? ? ? }

? ? }

? ],

? "from": 0,

? "size": 2

}

#布爾值查詢

# must(and)搪花,所有的條件都要符合

GET test3/_search

{

? "query": {

? ? "bool": {

? ? ? "must": [

? ? ? ? {

? ? ? ? ? "match": {

? ? ? ? ? ? "name": "狂神說(shuō)3657573"

? ? ? ? ? }

? ? ? ? },

? ? ? ? {

? ? ? ? ? "term": {

? ? ? ? ? ? "age": "311"

? ? ? ? ? }

? ? ? ? }

? ? ? ]

? ? }

? }

}

# should(or), 滿足一個(gè)條件即可

GET test3/_search

{

? "query": {

? ? "bool": {

? ? ? "should": [

? ? ? ? {

? ? ? ? ? "match": {

? ? ? ? ? ? "name": "狂神說(shuō)3657573"

? ? ? ? ? }

? ? ? ? },

? ? ? ? {

? ? ? ? ? "term": {

? ? ? ? ? ? "age": "3"

? ? ? ? ? }

? ? ? ? }

? ? ? ]

? ? }

? }

}

# must_not (not) 不等于

GET test3/_search

{

? "query": {

? ? "bool": {

? ? ? "must_not": [

? ? ? ? {

? ? ? ? ? "match": {

? ? ? ? ? ? "name": "狂神說(shuō)3657573"

? ? ? ? ? }

? ? ? ? },

? ? ? ? {

? ? ? ? ? "term": {

? ? ? ? ? ? "age": "3"

? ? ? ? ? }

? ? ? ? }

? ? ? ]

? ? }

? }

}

#過(guò)濾器filter gt 大于 gte 大于等于 lt 小于 lte 小于等于痢畜!

GET test3/_search

{

? "query": {

? ? "bool": {

? ? ? "should": [

? ? ? ? {

? ? ? ? ? "match": {

? ? ? ? ? ? "name": "狂神說(shuō)3657573"

? ? ? ? ? }

? ? ? ? },

? ? ? ? {

? ? ? ? ? "term": {

? ? ? ? ? ? "age": "3"

? ? ? ? ? }

? ? ? ? }

? ? ? ],

? ? ? "filter": {

? ? ? ? "range": {

? ? ? ? ? "age": {

? ? ? ? ? ? "gte": 1,

? ? ? ? ? ? "lte": 20

? ? ? ? ? }

? ? ? ? }

? ? ? }

? ? }

? }

}

高亮查詢

GET test1/_search

{

? "query": {

? ? "match": {

? ? ? "name": "狂神說(shuō)"

? ? }

? },

? "highlight": {

? ? "fields": {

? ? ? "name": {}

? ? }

? }

}

#自定義高亮

GET test1/_search

{

? "query": {

? ? "match": {

? ? ? "name": "狂神說(shuō)"

? ? }

? },

? "highlight": {

? ? "pre_tags": "<p class='key' style='color:red'>",

? ? "post_tags": "</p>",

? ? "fields": {

? ? ? "name": {}

? ? }

? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鳍侣,隨后出現(xiàn)的幾起案子丁稀,更是在濱河造成了極大的恐慌,老刑警劉巖倚聚,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件线衫,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡惑折,警方通過(guò)查閱死者的電腦和手機(jī)授账,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)惨驶,“玉大人白热,你說(shuō)我怎么就攤上這事〈植罚” “怎么了屋确?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)续扔。 經(jīng)常有香客問(wèn)我攻臀,道長(zhǎng),這世上最難降的妖魔是什么纱昧? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任刨啸,我火速辦了婚禮,結(jié)果婚禮上识脆,老公的妹妹穿的比我還像新娘设联。我一直安慰自己,他們只是感情好灼捂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布离例。 她就那樣靜靜地躺著,像睡著了一般纵东。 火紅的嫁衣襯著肌膚如雪粘招。 梳的紋絲不亂的頭發(fā)上啥寇,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天偎球,我揣著相機(jī)與錄音洒扎,去河邊找鬼。 笑死衰絮,一個(gè)胖子當(dāng)著我的面吹牛袍冷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播猫牡,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼胡诗,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了淌友?” 一聲冷哼從身側(cè)響起煌恢,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎震庭,沒(méi)想到半個(gè)月后瑰抵,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡器联,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年二汛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拨拓。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肴颊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出渣磷,到底是詐尸還是另有隱情婿着,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布醋界,位于F島的核電站祟身,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏物独。R本人自食惡果不足惜袜硫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望挡篓。 院中可真熱鬧婉陷,春花似錦、人聲如沸官研。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)戏羽。三九已至担神,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間始花,已是汗流浹背妄讯。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工孩锡, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人亥贸。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓躬窜,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親炕置。 傳聞我的和親對(duì)象是個(gè)殘疾皇子荣挨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355