Elasticsearch(ES)的基本使用

1. 概述

之前聊了一下 Elasticsearch 的安裝,今天我們來說說 Elasticsearch 的基本使用。

2. Elasticsearch索引的使用

索引(index)相當(dāng)于是mysql中的表。

2.1 創(chuàng)建索引

1)Head插件方式

選擇 索引 頁簽丑罪,點(diǎn)擊【新建索引】按鈕持际,輸入索引名稱、分片數(shù)刀诬、副本數(shù),點(diǎn)擊【OK】

image

之所以集群健康值呈現(xiàn)黃色邪财,是因?yàn)槟壳笆怯脝畏?wù)器跑的Elasticsearch陕壹,而副本是要存儲(chǔ)在不同的服務(wù)器上的,之后會(huì)聊一下 Elasticsearch 集群的搭建树埠。

image

2)RESTFUL接口方式

PUT http://192.168.1.11:9200/index_user

參數(shù):

{
    "settings":{
        "index":{
            "number_of_shards":5,  // 分片數(shù)
            "number_of_replicas":0 // 副本數(shù)
        }
    }
}

2.2 查看集群健康狀況

RESTFUL接口方式

GET http://192.168.1.11:9200/_cluster/health

響應(yīng):

{
    "cluster_name": "zhuifengren-es",
    "status": "yellow",
    "timed_out": false,
    "number_of_nodes": 1,
    "number_of_data_nodes": 1,
    "active_primary_shards": 6,
    "active_shards": 6,
    "relocating_shards": 0,
    "initializing_shards": 0,
    "unassigned_shards": 5,
    "delayed_unassigned_shards": 0,
    "number_of_pending_tasks": 0,
    "number_of_in_flight_fetch": 0,
    "task_max_waiting_in_queue_millis": 0,
    "active_shards_percent_as_number": 54.54545454545454
}

2.3 刪除索引

1)Head插件方式

在 概覽 頁簽糠馆,找到需要?jiǎng)h除的索引,選擇 動(dòng)作 —> 刪除...

image

2)RESTFUL接口方式

DELETE http://192.168.1.11:9200/index_user

2.4 查看集群整體信息

RESTFUL接口方式

GET http://192.168.1.11:9200/_cat/indices?v

響應(yīng):

health status index            uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   .geoip_databases pE4IpIAeSA2AiJzdDdviYA   1   0         42           64     65.1mb         65.1mb
green  open   index_user       2z4cELBeQeijTagp86ShbQ   5   0          0            0        1kb            1kb

3. Elasticsearch映射的使用

映射(mapping)相當(dāng)于是mysql中的表結(jié)構(gòu)定義怎憋。

3.1 Elasticsearch中的主要數(shù)據(jù)類型

文本類型:text又碌,keyword

整型:long,integer盛霎,short赠橙,byte

浮點(diǎn)型:double,float

布爾型:boolean

日期型:date

對(duì)象型:object

3.2 創(chuàng)建索引并創(chuàng)建映射

RESTFUL接口方式

PUT http://192.168.1.11:9200/index_user

參數(shù):

{
    "settings":{
        "index":{
            "number_of_shards":5,
            "number_of_replicas":0
        }
    },
    "mappings" : {
        "properties":{
            "name":{
                "type":"text",    // 數(shù)據(jù)類型
                "index":true      // 是否索引
            },
            "loginName":{
                "type":"keyword",
                "index":false
            },
            "age":{
                "type":"integer",
                "index":false
            }
        }
    }
}

3.3 在已有的索引上維護(hù)mapping

RESTFUL接口方式

POST http://192.168.1.11:9200/index_user/_mapping

參數(shù):

{
    "properties":{
        "nickname":{
            "type":"keyword",
            "index":false
        }
    }
}

注意:mapping中的屬性愤炸,只能添加期揪,不能修改。如果屬性設(shè)置需要變更规个,需要?jiǎng)h除索引重建凤薛。

3.4 查看索引的分詞效果

RESTFUL接口方式

GET http://192.168.1.11:9200/index_user/_analyze

參數(shù):

{
    "field": "name",
    "text": "lisa brown"
}

4. Elasticsearch文檔的使用

文檔(document)相當(dāng)于是mysql中的數(shù)據(jù)行。

4.1 新增文檔

RESTFUL接口方式

POST http://192.168.1.11:9200/index_user/_doc/1

注:url中最后的1是文檔在Elasticsearch中的ID诞仓,與業(yè)務(wù)ID無關(guān)缤苫,如果不寫,則會(huì)自動(dòng)生成一個(gè)隨機(jī)字符串作為文檔的ID

參數(shù):

{
    "name":"zhang san",
    "loginName":"zs",
    "age":30
}

如果沒有手動(dòng)創(chuàng)建 映射(mapping)墅拭,則新增文檔后活玲,Elasticsearch會(huì)根據(jù)文檔的字段類型自動(dòng)創(chuàng)建 映射(mapping)。

4.2 刪除文檔

RESTFUL接口方式

DELETE http://192.168.1.11:9200/index_user/_doc/1

4.3 修改文檔

RESTFUL接口方式

1)只修改部分字段

POST http://192.168.1.11:9200/index_user/_doc/1/_update

參數(shù):

{
    "doc":{
        "name":"zhangsan2",
        "age":33
    }
}

2)全部替換

PUT http://192.168.1.11:9200/index_user/_doc/1

參數(shù):

{
    "name":"zhangsan",
    "loginName":"zs",
    "age":31
}

4.4 查詢文檔

RESTFUL接口方式

1)依據(jù)文檔ID查詢

GET http://192.168.1.11:9200/index_user/_doc/1

響應(yīng)數(shù)據(jù):

{
    "_index": "index_user",
    "_type": "_doc",
    "_id": "1",
    "_version": 5,
    "_seq_no": 7,
    "_primary_term": 1,
    "found": true,
    "_source": {
        "name": "zhangsan",
        "loginName": "zs",
        "age": 31
    }
}

2)查詢所有

GET http://192.168.1.11:9200/index_user/_doc/_search

響應(yīng)數(shù)據(jù):

{
    "took": 2,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 2,
            "relation": "eq"
        },
        "max_score": 1.0,
        "hits": [
            {
                "_index": "index_user",
                "_type": "_doc",
                "_id": "_TVW-XsBNDgg-BBCeUvY",
                "_score": 1.0,
                "_source": {
                    "name": "lisi",
                    "loginName": "ls",
                    "age": 31
                }
            },
            {
                "_index": "index_user",
                "_type": "_doc",
                "_id": "1",
                "_score": 1.0,
                "_source": {
                    "name": "zhangsan",
                    "loginName": "zs",
                    "age": 31
                }
            }
        ]
    }
}

3)查詢時(shí)自定義結(jié)果集

GET http://192.168.1.11:9200/index_user/_doc/1?_source=name,age

GET http://192.168.1.11:9200/index_user/_doc/_search?_source=name,age

5. 綜述

今天簡(jiǎn)單聊了一下 Elasticsearch 的基本使用谍婉,希望能對(duì)大家的工作有所幫助舒憾。

歡迎大家?guī)兔c(diǎn)贊、評(píng)論穗熬、加關(guān)注 :)

關(guān)注追風(fēng)人聊Java镀迂,每天更新Java干貨。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末唤蔗,一起剝皮案震驚了整個(gè)濱河市探遵,隨后出現(xiàn)的幾起案子窟赏,更是在濱河造成了極大的恐慌,老刑警劉巖箱季,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涯穷,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡规哪,警方通過查閱死者的電腦和手機(jī)求豫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門塌衰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诉稍,“玉大人,你說我怎么就攤上這事最疆”蓿” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵努酸,是天一觀的道長(zhǎng)服爷。 經(jīng)常有香客問我,道長(zhǎng)获诈,這世上最難降的妖魔是什么仍源? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮舔涎,結(jié)果婚禮上笼踩,老公的妹妹穿的比我還像新娘。我一直安慰自己亡嫌,他們只是感情好嚎于,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著挟冠,像睡著了一般于购。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上知染,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天肋僧,我揣著相機(jī)與錄音,去河邊找鬼控淡。 笑死嫌吠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的逸寓。 我是一名探鬼主播居兆,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼竹伸!你這毒婦竟也來了泥栖?” 一聲冷哼從身側(cè)響起簇宽,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吧享,沒想到半個(gè)月后魏割,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡钢颂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年钞它,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片殊鞭。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡遭垛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出操灿,到底是詐尸還是另有隱情锯仪,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布趾盐,位于F島的核電站庶喜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏救鲤。R本人自食惡果不足惜久窟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望本缠。 院中可真熱鬧斥扛,春花似錦、人聲如沸搓茬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卷仑。三九已至峻村,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锡凝,已是汗流浹背粘昨。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留窜锯,地道東北人张肾。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像锚扎,于是被迫代替她去往敵國和親吞瞪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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