ElasticSearch入門(mén)篇

ElasticSearch入門(mén)篇

一训挡、安裝部署

1.1 版本選擇

http://www.reibang.com/p/c5c3e834c028

1.2 單機(jī)版

  1. 下載解壓

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.tar.gz
    tar -zxvf elasticsearch-6.6.1.tar.gz -C /opt/es/
    
  2. ES不能在ROOT賬戶下啟動(dòng)腥放,必須創(chuàng)建子賬戶

    useradd es   創(chuàng)建用戶
    passwd es    設(shè)置密碼
    chown -R es:root /opt/es/    給文件指定所屬用戶和用戶組
    chmod -R 770 /opt/es/    修改文件夾的權(quán)限
    su es    切換到es賬戶,su是switch user的縮寫(xiě)
    
  1. 修改配置vim elasticsearch.yml

    ####### 若要外界能訪問(wèn)到虛擬機(jī)上的ES,必須要配置network.host #######
    network.host: 192.168.114.100
    ####### ES綁定端口 #######
    http.port: 9200
    
  2. ./elasticsearch -d 后臺(tái)啟動(dòng)

    ./elasticsearch -h 了解啟動(dòng)腳本可用選項(xiàng)
    ps -ef | grep elastic 查找ES進(jìn)程
    kill -9 進(jìn)程號(hào) 殺掉ES進(jìn)程
    啟動(dòng)日志在 elasticsearch-6.6.1/logs/elasticsearch.log
    curl 192.168.114.100:9200 啟動(dòng)成功
    
2019022201.png
  1. 安裝ES-Head

(1)安裝NodeJs

由于elasticsaerch-head是由node.js編寫(xiě)的,Linux需確保安裝了node6以上版本 .
到 Node.js 官網(wǎng)(https://nodejs.org/en/download/) 選擇要下載的編譯版本Linux Binaries (x64)

1涯塔、切換到安裝路徑
cd /usr/local/src
wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz
2找爱、解壓縮文件包
xz -d node-v10.13.0-linux-x64.tar.xz
tar -xvf node-v10.13.0-linux-x64.tar
3、node 環(huán)境配置
vim /etc/profile
在最下面加入
# node
export NODE_HOME=/usr/local/src/node-v10.13.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
source /etc/profile    // 使配置文件生效
4掘殴、查看 Node.js 是否安裝成功
node -v

?

(2)安裝elasticsaerch-head

github官網(wǎng) https://github.com/mobz/elasticsearch-head赚瘦,下載mobz開(kāi)頭的elasticsaerch-head
解壓后進(jìn)入elasticsaerch-head-master,
npm install 安裝結(jié)束出現(xiàn)npm ERR!不用管
npm run start 啟動(dòng)在9100

(3) 連接ES-head控制臺(tái)

在elasticsearch.yml中加入下面的配置才能鏈接到控制臺(tái)
http.cors.enabled: true http.cors.allow-origin: "*"
然后重啟嘗試連接
2019022203.png

1.3 分布式部署

在另外兩臺(tái)機(jī)子上奏寨,拷貝es包起意、config下elasticsearch.yml與jvm.options,賦予權(quán)限病瞳,解決啟動(dòng)報(bào)錯(cuò)揽咕。

修改配置如下

##################### master配置 #######################
network.host: 192.168.114.100
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: gas
node.name: master
node.master: true
discovery.zen.ping.unicast.hosts: ["192.168.114.100","192.168.114.110","192.168.114.120"]

##################### slave1配置 #######################
network.host: 192.168.114.110
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: gas
node.name: slave1
discovery.zen.ping.unicast.hosts: ["192.168.114.100","192.168.114.110","192.168.114.120"]

##################### slave2配置 #######################
network.host: 192.168.114.120
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: gas
node.name: slave2
discovery.zen.ping.unicast.hosts: ["192.168.114.100","192.168.114.110","192.168.114.120"]

若是偽分布式,則指定不同的http.port套菜,discovery.zen.ping.unicast.hosts只配置一項(xiàng)IP即可亲善。依次用子賬戶啟動(dòng)三臺(tái)ES。

2019022301.png

二逗柴、基本API操作

3.1 創(chuàng)建索引

|
2019022302.png
2019022303.png
2019022304.png

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

PUT http://192.168.114.100:9200/person

{
    "settings": {
        "number_of_shards": 3,
        "number_of_replicas": 1
    },
    "mappings": {
        "person": {
            "properties": {
                "name": {
                    "type": "text"
                },
                "age": {
                    "type": "integer"
                },
                "birthday": {
                    "type": "date",
                    "format": "yyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
                },
                "country": {
                    "type": "keyword"
                }
            }
        }
    }
}

注:
text:會(huì)分詞蛹头,然后進(jìn)行索引
       支持模糊、精確查詢
       不支持聚合
keyword:不進(jìn)行分詞戏溺,直接索引
       支持模糊渣蜗、精確查詢
       支持聚合

常用的參數(shù)類型定義&賦值demo

類型 參數(shù)定義 賦值
text "name":{"type":"text"} "name": "zhangsan"
keyword "tags":{"type":"keyword"} "tags": "abc"
date "date":{"type": "date"} "date":"2015-01-01T12:10:30Z"
long "age":{"type":"long"} "age" :28
double "score":{"type":"double"} "score":98.8
boolean "isgirl": { "type": "boolean" } "isgirl" :true
ip "ip_addr":{"type":"ip"} "ip_addr": "192.168.1.1"
geo_point "location": {"type":"geo_point"} "location":{"lat":40.12,"lon":-71.34}

3.2 文檔操作

【插入文檔】
PUT http://192.168.114.100:9200/person/person/1
{
                "name" : "張飛",
                "age" : 20,
                "birthday" : "1998-02-02",
                "country" : "大漢"
 }
或者 POST http://192.168.114.100:9200/person/person
{
                "name" : "劉備",
                "age" : 24,
                "birthday" : "1994-02-02",
                "country" : "大漢"
 }
POST不用指定文檔id,會(huì)自行生成唯一字符串
2019022501.jpg
【修改文檔】
可以直接PUT指定對(duì)應(yīng)的文檔ID替換那條數(shù)據(jù)旷祸,
也可以
POST http://192.168.114.100:9200/person/person/1/_update
{
            "doc":{
                "name":"關(guān)二爺"
            }
}
【刪除文檔】
DELETE http://192.168.114.100:9200/person/person/1
刪除索引袍睡,同時(shí)也會(huì)把所有文檔刪除
DELETE http://192.168.114.100:9200/person

3.3 查詢數(shù)據(jù)

【簡(jiǎn)單查詢】
 GET http://192.168.114.100:9200/person/person/1
 
 {
  "_index": "person",
  "_type": "person",
  "_id": "1",
  "_version": 3, // ---該條文檔修改的次數(shù)
  "_seq_no": 2,
  "_primary_term": 1,
  "found": true,
  "_source": {
    "name": "關(guān)二爺",
    "age": 20,
    "birthday": "1998-02-01",
    "country": "大漢"
  }
}
【條件查詢】
POST  http://192.168.114.100:9200/person/person/_search
{
                "query":{
                    "match_all":{}
                }
}

{
  "took": 10,  //--- 查詢花費(fèi)時(shí)間ms
  "timed_out": false,
  "_shards": {
    "total": 3,
    "successful": 3,
    "skipped": 0,
    "failed": 0
  },
  "hits": { //--- hits命中的數(shù)據(jù)
    "total": 2,
    "max_score": 1,
    "hits": [
      {
        "_index": "person",
        "_type": "person",
        "_id": "5Tk8ImkB6d7OxUUbp0wf",
        "_score": 1,
        "_source": {
          "name": "劉備",
          "age": 24,
          "birthday": "1994-02-02",
          "country": "大漢"
        }
      },
      {
        "_index": "person",
        "_type": "person",
        "_id": "1",
        "_score": 1,
        "_source": {
          "name": "關(guān)二爺",
          "age": 20,
          "birthday": "1998-02-01",
          "country": "大漢"
        }
      }
    ]
  }
}

【排序分頁(yè)】
默認(rèn)排序規(guī)則是按_score降序,若查詢指定排序規(guī)則后肋僧,則返回的數(shù)據(jù)中_score變?yōu)閚ull
POST  http://192.168.114.100:9200/person/person/_search
{
    "query": {
        "match": {
     "country": "東吳"  // 包含關(guān)鍵詞
  }
    },
    "sort": [{
        "birthday": {
            "order": "desc" // 按生日降序
        }
    }],
    "from": 0, // 從第一條開(kāi)始
    "size": 10 // 取10條
}

聚合查詢會(huì)專列一篇博客深入講解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末斑胜,一起剝皮案震驚了整個(gè)濱河市控淡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌止潘,老刑警劉巖掺炭,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異凭戴,居然都是意外死亡涧狮,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)么夫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)者冤,“玉大人,你說(shuō)我怎么就攤上這事档痪∩娣悖” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵腐螟,是天一觀的道長(zhǎng)愿汰。 經(jīng)常有香客問(wèn)我,道長(zhǎng)乐纸,這世上最難降的妖魔是什么衬廷? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮汽绢,結(jié)果婚禮上吗跋,老公的妹妹穿的比我還像新娘。我一直安慰自己宁昭,他們只是感情好小腊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著久窟,像睡著了一般秩冈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斥扛,一...
    開(kāi)封第一講書(shū)人閱讀 51,198評(píng)論 1 299
  • 那天入问,我揣著相機(jī)與錄音,去河邊找鬼稀颁。 笑死芬失,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的匾灶。 我是一名探鬼主播棱烂,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼阶女!你這毒婦竟也來(lái)了颊糜?” 一聲冷哼從身側(cè)響起哩治,我...
    開(kāi)封第一講書(shū)人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎衬鱼,沒(méi)想到半個(gè)月后业筏,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鸟赫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年蒜胖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抛蚤。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡台谢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出岁经,到底是詐尸還是另有隱情朋沮,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布蒿偎,位于F島的核電站,受9級(jí)特大地震影響怀读,放射性物質(zhì)發(fā)生泄漏诉位。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一菜枷、第九天 我趴在偏房一處隱蔽的房頂上張望苍糠。 院中可真熱鬧,春花似錦啤誊、人聲如沸岳瞭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)瞳筏。三九已至,卻和暖如春牡昆,著一層夾襖步出監(jiān)牢的瞬間姚炕,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工丢烘, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留柱宦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓播瞳,卻偏偏與公主長(zhǎng)得像掸刊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子赢乓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354