Elasticsearch安裝與入門

Elasticsearch: Elasticsearch 是一個實時的分布式搜索分析引擎畜伐,它能讓你以一個之前從未有過的速度和規(guī)模娇斑,去探索你的數(shù)據(jù)棋枕。 它被用作全文檢索、結(jié)構(gòu)化搜索息楔、分析以及這三個功能的組合寝贡。
可以這樣形容Elasticsearch:

  • 一個分布式的實時文檔存儲,每個字段 可以被索引與搜索
  • 一個分布式實時分析搜索引擎
  • 能勝任上百個服務節(jié)點的擴展值依,并支持 PB 級別的結(jié)構(gòu)化或者非結(jié)構(gòu)化數(shù)據(jù)
    可以在官方下載網(wǎng)址下載安裝Elasticsearch,當然也可以在github下載最新的版本(因為它是完全開源的).
1.解壓歸檔文件   tar -xvzf  elasticsearch-version.tar.gz
cd elasticsearch-<version>
./bin/elasticsearch

之后就可以在瀏覽器地址欄輸入127.0.0.1:9200圃泡,然后你會看到下面類似的結(jié)果:

{
  "name" : "a9W1rx3",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "rwt9_Vd4RZy6jPdJZ1N6nw",
  "version" : {
    "number" : "5.1.1",
    "build_hash" : "5395e21",
    "build_date" : "2016-12-06T12:36:15.409Z",
    "build_snapshot" : false,
    "lucene_version" : "6.3.0"
  },
  "tagline" : "You Know, for Search"
}
1. 解壓歸檔文件    tar -xvzf kibana.version.tar.gz
cd kibana.version
./bin/kibana
在瀏覽器地址欄輸入127.0.0.1:5601

然后你會看到:


1.jpg

選擇Dev Tools:


2.jpg
  • 測試: 在Dev Tools控制臺輸入
PUT /megacorp/employee/1
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}
PUT /megacorp/employee/2
{
    "first_name" :  "Jane",
    "last_name" :   "Smith",
    "age" :         32,
    "about" :       "I like to collect rock albums",
    "interests":  [ "music" ]
}

PUT /megacorp/employee/3
{
    "first_name" :  "Douglas",
    "last_name" :   "Fir",
    "age" :         35,
    "about":        "I like to build cabinets",
    "interests":  [ "forestry" ]
}
  • 獲取數(shù)據(jù)
GET /megacorp/employee/2
  • 輕量搜索
GET /megacorp/employee/_search    -- 返回前10條數(shù)據(jù)
GET /megacorp/employee/_search?q=last_name:Smith  -- 返回last_name為Smith的數(shù)據(jù)
  • 使用查詢表達式搜索
GET /megacorp/employee/_search
{
    "query" : {
        "match" : {
            "last_name" : "Smith"
        }
    }
}
  • 更復雜的查詢
GET /megacorp/employee/_search
{
  "query":{
    "bool":{
      "must":{
        "match":{
          "last_name": "Smith"
        }
      },    -- 此處應當有個','
      "filter":{
        "range":{
          "age":{
            "gt": 30
          }
        }
      }
    }
  }
}
  • 全文搜索
GET /megacorp/employee/_search
{
  "query":{
    "match":{
      "about": "rock climbing"
    }
  }
}

然后會得到兩個結(jié)果:

{
  "took": 11,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 2,
    "max_score": 0.53484553,
    "hits": [
      {
        "_index": "megacorp",
        "_type": "employee",
        "_id": "1",
        "_score": 0.53484553,
        "_source": {
          "first_name": "John",
          "last_name": "Smith",
          "age": 25,
          "about": "I love to go rock climbing",
          "interests": [
            "sports",
            "music"
          ]
        }
      },
      {
        "_index": "megacorp",
        "_type": "employee",
        "_id": "2",
        "_score": 0.26742277,
        "_source": {
          "first_name": "Jane",
          "last_name": "Smith",
          "age": 32,
          "about": "I like to collect rock albums",
          "interests": [
            "music"
          ]
        }
      }
    ]
  }
}

默認按照相關(guān)性得分排序,即每個文檔跟查詢的匹配程度.因為第二個用戶的“about”屬性也提到了“rock”,所以也會返回愿险,但是第一個的“about”包含了"rock climbing”颇蜡,所以相關(guān)性得分更高排在前面.

Elasticsearch中的相關(guān)性概念非常重要,也是完全區(qū)別于傳統(tǒng)關(guān)系型數(shù)據(jù)庫的一個概念辆亏,數(shù)據(jù)庫中的一條記錄要么匹配要么不匹配

  • 找出一個屬性中的獨立單詞是沒有問題的风秤,但有時候想要精確匹配一系列單詞或者短語
GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"   -- 匹配短語"rock climbing"
        }
    }
}
  • 高亮搜索: 許多應用都傾向于在每個搜索結(jié)果中高亮部分文本片段,以便讓用戶知道為何該文檔符合查詢條件
GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    },
    "highlight": {         --  高亮參數(shù)
        "fields" : {
            "about" : {}
        }
    }
}

返回結(jié)果如下:

{
   ...
   "hits": {
      "total":      1,
      "max_score":  0.23013961,
      "hits": [
         {
            ...
            "_score":         0.23013961,
            "_source": {
               "first_name":  "John",
               "last_name":   "Smith",
               "age":         25,
               "about":       "I love to go rock climbing",
               "interests": [ "sports", "music" ]
            },
            "highlight": {
               "about": [
                  "I love to go <em>rock</em> <em>climbing</em>" 
               ]
            }
         }
      ]
   }
}

當執(zhí)行該查詢時扮叨,返回結(jié)果與之前一樣缤弦,與此同時結(jié)果中還多了一個叫做 highlight 的部分。這個部分包含了 about 屬性匹配的文本片段彻磁,并以 HTML 標簽 <em></em> 封裝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末碍沐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子衷蜓,更是在濱河造成了極大的恐慌累提,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件磁浇,死亡現(xiàn)場離奇詭異斋陪,居然都是意外死亡,警方通過查閱死者的電腦和手機扯夭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門鳍贾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人交洗,你說我怎么就攤上這事∠鹗纾” “怎么了构拳?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我置森,道長斗埂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任凫海,我火速辦了婚禮呛凶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘行贪。我一直安慰自己漾稀,他們只是感情好,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布建瘫。 她就那樣靜靜地躺著崭捍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪啰脚。 梳的紋絲不亂的頭發(fā)上殷蛇,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音橄浓,去河邊找鬼粒梦。 笑死,一個胖子當著我的面吹牛荸实,可吹牛的內(nèi)容都是我干的谍倦。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼泪勒,長吁一口氣:“原來是場噩夢啊……” “哼昼蛀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起圆存,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤叼旋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后沦辙,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體夫植,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年油讯,在試婚紗的時候發(fā)現(xiàn)自己被綠了详民。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡陌兑,死狀恐怖沈跨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情兔综,我是刑警寧澤饿凛,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布狞玛,位于F島的核電站,受9級特大地震影響涧窒,放射性物質(zhì)發(fā)生泄漏心肪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一纠吴、第九天 我趴在偏房一處隱蔽的房頂上張望硬鞍。 院中可真熱鬧,春花似錦戴已、人聲如沸固该。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蹬音。三九已至,卻和暖如春休玩,著一層夾襖步出監(jiān)牢的瞬間著淆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工拴疤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留永部,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓呐矾,卻偏偏與公主長得像苔埋,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蜒犯,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

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