Elasticsearch初步使用(安裝、Head配置、分詞器配置)

目錄

  返回目錄:http://www.cnblogs.com/hanyinglong/p/5464604.htmljava

1.ElasticSearch簡單說明

  a.ElasticSearch是一個基於Lucene開發的搜索服務器,具備分佈式多用戶的能力,ElasticSearch是用Java開發的開源項目(Apache許可條款),基於Restful Web接口,可以達到實時搜索、穩定、可靠、快速、高性能、安裝使用方便,同時它的橫向擴展能力很是強,不須要重啓服務。linux

  b.ElasticSearch是一個很是好用的實時分佈式搜索和分析引擎,能夠幫助咱們快速的處理大規模數據,也能夠用於全文檢索,結構化搜索以及分析等。git

  c.目前不少網站都在使用ElasticSearch進行全文檢索,例如:GitHub、StackOverflow、Wiki等。github

  d.ElasticSearch式創建在全文檢索引擎Lucene基礎上的,而Lucene是最早進、高效的開元搜索引擎框架,可是Lucene只是一個框架,要充分利用它的功能,咱們須要很高的學習成本,而ElasticSearch使用Lucene做爲內部引擎,在其基礎上封裝了功能強大的Restful API,讓開發人員能夠在不須要了解背後複雜的邏輯,便可實現比較高效的搜索。算法

  e.關於Lucene我在前面寫過幾篇博客,而且在GitHub上開源了一個Demo,博客地址是:http://www.cnblogs.com/hanyinglong/p/5387816.htmlshell

  f.ElasticSearch官網:https://www.elastic.co/products/elasticsearch/vim

  g.ElasticSearch權威指南 http://www.learnes.net/ 後端

2.準備安裝文件

  a.工欲善其事必先利其器,經過上面簡單的描述想必你們已經知道ElasticSearch是幹什麼的了,那麼這時候咱們就須要去使用它,而在用它以前則必須先將其安裝,故而在這篇博客我將簡單描述一下EasticSearch的安裝,ElasticSearch_Head的配置,分詞插件的配置。centos

  b. ElasticSearch的安裝包,下載地址:https://www.elastic.co/downloads/elasticsearch,下載最新的tar包便可。

  c. ElasticSearch_Head配置包,下載地址:https://github.com/mobz/elasticsearch-head,下載最新的Zip壓縮包便可。

  d.分詞插件,下載地址:https://github.com/medcl/elasticsearch-analysis-ik,克隆源碼進行操做。

  e.因Elasticsearch是基於java寫的,因此它的運行環境中須要java的支持,在Linux下執行命令:java -version,檢查Jar包是否安裝,若是安裝,則能夠繼續操做安裝工做,不然安裝java jar包,如何安裝請參看博客:http://www.cnblogs.com/hanyinglong/p/5025635.html。(JDK安裝7以上)

  f. ElasticSearch_ServiceWrapper配置包,下載地址: https://github.com/elastic/elasticsearch-servicewrapper

  g. 本次操做須要用到的軟件以及系統以下:虛擬機(Vmware)、虛擬機中安裝的Centos系統、Xshell、Xftp、上面的安裝包、Git、Maven,至於如何使用它們咱們下面會說到。

3.ElasticSearch安裝

  a.經過上面簡單的準備工做以後,如今已經擁有了能夠安裝和發佈的環境,若是沒有,請參考上面的說明,自行查詢安裝。

  b.使用XShell鏈接Centos,鏈接成功後使用命令跳轉到local下面建立屬於本身的文件夾kencery,在此文件夾下建立elasticsearch文件夾,命令以下;

    b.1  (1):cd usr/local/    (2):mkdir kencery    (3):cd kencery/   (4):mkdir elasticsearch  (5):cd elasticsearch/

  c. 而後使用Xftp將在準備安裝文件中下載的Elasticsearch包複製到elasticsearch文件夾西面,如圖所示:

    

  d. 將上傳的的elasticsearch-2.3.1.tar.gz包解壓,解壓以後命名爲:elasticsearch,至於安裝包裏面含有上面內容,請自行使用命令ls -l查看。

    d.1 tar -zxvf elasticsearch-2.3.1.tar.gz

    d.2 mv elasticsearch-2.3.1 elasticsearch

  e. 進入elasticsearch文件後運行腳本啓動,命令以下:

    e.1 cd elasticsearch

    e.2 調用啓動命令:./bin/elasticsearch(若是以root用戶啓動,正常狀況下這裏會報錯)。

  f.在root帳戶下面調用啓動命令出錯的解決方案

    f.1 當使用root帳戶調用啓動命令出現錯誤信息,錯誤提示信息以下:

            

    f.2 爲何會這樣呢?這是由於處於系統安裝考慮的設置,因爲Elasticsearch能夠接收用戶輸入的腳本而且執行,爲了系統安全考慮,不容許root帳號啓動,因此建議給Elasticsearch單首創建一個用戶來運行Elasticsearch。

    f.3 建立elasticsearch用戶組以及elasticsearch用戶,命令以下:

      groupadd elasticsearch

      useradd  elasticsearch(用戶名) -g elasticsearch(組名) -p elasticsearch(密碼)

    f.4 更改Elasticsearch文件夾以及內部文件的所屬用戶以及組爲elasticsearch,修改完成以後如圖所示:

      chown -R elasticsearch:elasticsearch elasticsearch

      

    f.5 切換到elasticsearch用戶下,再次執行啓動命令,如圖所示,則說明啓動成功

       

  g.Elasticsearch後端啓動命令爲:./bin/elasticsearch -d

  h.安裝完成後使用IP訪問

    h.1 當安裝完成以後咱們固然但願他在其餘局域網內經過IP能夠訪問,但是執行:http://192.168.37.137:9200/,始終不能鏈接成功,並且centos下用localhost、127.0.0.1都可以鏈接成功。

    h.2 這時候咱們就須要修改配置文件了,首先使用ifconfig查詢你的linux的IP是多少,獲得IP。

    h.3 跳轉到Elasticsearch的config配置文件下,使用vim打開elasticsearch.yml,找到裏面的"network.host",將其改成你剛纔查詢獲得的IP,保存。

      cd elasticsearch/config/

      vim elasticsearch.yml

    h.4 重啓ElasticSearch,而後使用http://192.168.37.137:9200/訪問,若是鏈接不成功則須要考慮是否是端口的緣由,配置端口,重啓防火牆便可。

    h.5 使用http://192.168.37.137:9200/訪問,訪問結果如圖所示:,則說明ElasticSearch安裝成功。'

      

    h.6 Elasticsearch安裝完成以後,但願能有一個可視化的環境來操做它,那麼下來配置:Elasticsearch Head

  i. 若是是使用命令./bin/elasticsearch來啓動的Elasticsearch,若是想要中止Elasticsearch的執行,則直接按住鍵盤Ctrl+C則會中止,中止以後你在瀏覽器中再次測試發現已不能操做。

4.ElasticSearch_Head配置

  a.Elasticsearch Head是集羣管理、數據可視化、增刪改查、查詢語句可視化工具,它的安裝方式有兩種,一種是使用命令安裝,一種是下載包安裝。

  b.命令安裝

    b.1  cd /usr/local/kencery/elasticsearch/elasticsearch

    b.2  ./bin/plugin -install mobz/elasticsearch-head(*)

      提示錯誤,錯誤信息是:ERROR: unknown command [-install]. Use [-h] option to list available commands,這是由於Elasticsearch在2.0以上的版本將-install變成了install。

    b.3 故而執行命令 ./bin/plugin install mobz/elasticsearch-head便可。

    b.4 詳細信息請看:https://github.com/mobz/elasticsearch-head下面的README.md文件。

  c.下載包安裝

    c.1 在準備下載包的時候咱們已經將包下載到電腦本地了,因此講下載下來的包(elasticsearch-head-master)解壓elasticsearch-head-master文件夾。

    c.2 在Elasticsearch的安裝的plugin下建立目錄head

      cd /usr/local/kencery/elasticsearch/elasticsearch/plugins/

      mkdir head

    c.3 跳轉到head文件夾下,將剛纔解壓的elasticsearch-head-master文件夾下的全部文件拷貝到head目錄下,如圖所示:

      

    c.4 從新啓動ElasticSearch,使用http://192.168.37.137:9200/_plugin/head/訪問瀏覽器,如圖所示,則說明安裝成功。

      

  d.安全問題

    如圖就能夠看出,該插件能夠對數據進行任何增刪改查,因此不建議在正式環境中使用它,若是使用,也必須限制規定的IP可以使用。

5.分詞插件配置

  a. IK Analyzer是一個開源的,基於Java語言開發的輕量級的中文分詞工具包,最初的時候,它是以開源項目Lucene爲應用主體的,結合詞典分詞和文法分析算法的中文分詞組件,從3.0版本以後,IK逐漸成爲面向java的公用分詞組件,獨立於Lucene項目,同時提供了對Lucene的默認優化實現,IK實現了簡單的分詞 歧義排除算法,標誌着IK分詞器從單純的詞典分詞向模擬語義分詞衍化

  b. 當安裝完Elasticsearch以後,默認已經含有一個分詞法,就是standard,這個分詞法對英文的支持還能夠,可是對中文的支持很是差勁,如圖所示:

    http://192.168.37.137:9200/_analyze?analyzer=standard&pretty=true&text=helloworld,%E6%AC%A2%E8%BF%8E%E6%82%A8

    

  c.安裝IK分詞法。

    c.1 首先經過Git將源碼下載下來,打開git客戶端輸入命令:git clone https://github.com/medcl/elasticsearch-analysis-ik,若是沒有安裝git,則直接下載zip包。

    c.2 下載以後進入到下載的文件夾下,如圖所示:

      

    c.3 由於其源碼使用的maven開發,故而使用maven編譯項目,若是沒有安裝maven,參考博客安裝:http://www.cnblogs.com/hanyinglong/p/5030907.html,命令提示符以管理員的身份運行,如圖所示:

      

              編譯成功在下面會提示Succes。

    c.4 打開編譯後的target\releases,解壓壓縮包,而後進入解壓的壓縮包裏面能夠看到幾個jar包和配置文件。

  d.在Elasticsearch的安裝的plugin下建立文件夾ik

    cd /usr/local/kencery/elasticsearch/elasticsearch/plugins/

    mkdir ik

  e. 跳轉到ik文件夾下,將c.4中所說的文件拷貝到ik文件夾下,如圖所示:

     

    f. 從新啓動ElasticSearch,使用http://192.168.37.137:9200/_analyze?analyzer=ik&pretty=true&text=helloworld,%E6%AC%A2%E8%BF%8E%E6%82%A8訪問瀏覽器,若是分詞,則說明配置成功。

    

    天天一點點,都是進步

        若是文章哪裏存在問題,歡迎你們指出來,我會在第一時間修改。

相關文章
相關標籤/搜索