elasticsearch搭建與使用(原創)


1.概述

Elastic Search 是一個基於Lucene構建的開源,分布式搜索引擎。設計用於雲計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。支持通過HTTP使用JSON進行數據索引

 

2 、環境介紹與安裝准備

    1、環境說明

       MAC OS X 10.10.95

    2、安裝准備

        ElasticSearch(簡稱ES)由java語言實現,運行環境依賴java。ES 1.x版本,官方推薦至少使用jdk1.7及以上的環境,建議使用Oracle java,可以去官網下載,本文使用http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  。ES可以去官網下載,也可以這里https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.1.0/elasticsearch-2.1.0.zip  ,本文使用elasticsearch-2.1.0.zip。

 

3、安裝

  1、安裝JAVA

        關於Java的安裝,請參照這里 http://www.ifunmac.com/2013/04/mac-jdk-7/ 

  2、安裝ES

以目前最新的elasticsearch-2.1.0.zip為例,將zip文件解壓到指定目錄:/usr/local,解壓開來后為三個目錄:bin、config、lib及三個文本文件。三個文本文件我們可以不用管。

進入:

cd /usr/local/elasticsearch-2.1.0/bin

運行如下命令即可啟動elasticsearch

./elasticsearch

 

上面的啟動命令將使得elasticsearch進程在后端運行,如果想使其在前端運行,這樣可以看到服務啟動時的打印信息,那么我們可以運行如下命令即可:

 ./elasticsearch –f

如果我們使用

 

ps aux | grep elasticsearch

會發現分配給elasticsearch的最小與最大內存為:

 

-Xms256m -Xmx1g,我們可以通過以下的命令來指定分給elasticsearch的最大與最小內存:

 

./elasticsearch -f -Xmx2g -Xms2g -Des.index.storage.type=memory

通常分配的最大與最小內存大小相等為最好。

 

如果是采用加-f的命令啟動服務,則在當前界面可以按Ctrl+C關掉服務。

 

Elasticsearch啟動后,我們可以通過訪問如下url在前端查詢該服務是否啟動成功:

 

http://localhost:9200/

 

{

  "name" : "Ghost Girl",

  "cluster_name" : "elasticsearch",

  "version" : {

    "number" : "2.1.0",

    "build_hash" : "72cd1f1a3eee09505e036106146dc1949dc5dc87",

    "build_timestamp" : "2015-11-18T22:40:03Z",

    "build_snapshot" : false,

    "lucene_version" : "5.3.1"

  },

  "tagline" : "You Know, for Search"

}

啟動成功!

 

9200是http訪問端口,還有一個端口是9300,是各節點間彼此通信的端口。

 

PS. 配置文件

 

通過config/elasticsearch.yml設置cluster.name和node.name ,詳細請查看: http://www.zihou.me/html/2014/01/17/9061.html 

 

4、安裝apache-maven

 

1. 配置Maven需要檢查下Java環境變量的設置。需要檢查JAVA_HOME環境變量以及Java命令

在終端輸入查看java版本:

java -version

如果顯示版本就說明安裝好了.

在MAC上查找和設置$JAVA_HOME

#輸入命令查看java home變量是否設置:

echo $JAVA_HOME

另外可以使用-V選項列出所有版本的JAVA_HOME:

/usr/libexec/java_home -V

配置JAVA_HOME

 

1,打開 應用程序 -> 實用工具 -> 終端; 

2,在終端中定位到自己用戶的主目錄,輸入: cd ~ ; 

3,創建一個空文件,輸入:touch .bash_profile ; 

4,編輯這個文件,輸入:open .bash_profile ; 

 

5,在這個文件中輸入:export PATH=${PATH}:<文件目錄> ;(將"<文件目錄>"替換成自己想要的目錄)export PATH=${PATH}:/Users/rye/android/android-sdk-mac_x86/tools; 

6,如果需要添加其他的環境變量例如JAVA_HOME,可以輸入:export JAVA_HOME=/Library/Java/Home ; 

7,source .bash_profile重啟終端,測試。

 

注意:

根據蘋果的官方說明,Mac OS X 10.5 及以后的版本應該使用 /usr/libexec/java_home 命令來確定 JAVA_HOME ,而在此之前的版本由於沒有這個命令,則應該使用固定的 /Library/Java/Home 目錄。

最佳方式是:

export JAVA_HOME=`/usr/libexec/java_home`

另外,你還可以這樣用,來選擇不同的Java版本:

export JAVA_HOME=`/usr/libexec/java_home -v 1.6`

or

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

 

2.接着到http://maven.apache.org/download.html下載Maven安裝文件,如apache-maven-3.3.9-bin.zip,然后解壓到:/usr/local/目錄

接下來,我們需要設置M2_HOME(IntelliJ默認為M2_HOME)環境變量指向apache-maven-3.3.9,並且把Maven安裝目錄下的bin/文件夾添加到系統環境變量PATH中去:

 

vim打開/Users/gaoaifei/.bash_profile文件 加入如下代碼:    

 

export MAVEN_HOME=/Users/gaoaifei/apache-maven-3.3.9

 

export PATH=$PATH:$MAVEN_HOME/bin

 

至此,安裝完成,我們可以運行以下命令檢查Maven安裝:

 

echo $MAVEN_HOME

mvn –version

 

5、下載中分文詞庫

下載:https://github.com/medcl/elasticsearch-analysis-mmseg

解壓: tar xvf elasticsearch-analysis-mmseg**gz

cd elasticsearch-analysis-mmseg

mvn package 編譯打包

編譯完成,會在elasticsearch-analysis-mmseg文件夾目錄下生成一個target文件夾,

 

/Users/gaoaifei/Downloads/elasticsearch-analysis-mmseg-master/target/releases

下會有個編譯好的zip壓縮包

 

elasticsearch-analysis-mmseg-1.6.0.zip

 

 

配置中文搜索

1.進入elasticsearch目錄:/Users/gaoaifei/Downloads/elasticsearch-2.1.0  執行./bin/plubin install  或者手動生成plugins文件夾

2. 生成完成,在plugins文件夾下新建:mkdir  analysis-mmseg

3.將編譯好的elasticsearch-analysis-mmseg目錄下的打包文件

/Users/gaoaifei/Downloads/elasticsearch-analysis-mmseg-master/target/releases/elasticsearch-analysis-mmseg-1.6.0.zip

解壓並拷貝到elasticsearch的plugins目錄下

4.編輯elasticsearch配置文件,進行簡單配置: 

 sudo vi /Users/gaoaifei/Downloads/elasticsearch-2.1.0/config/elasticsearch.yml

復制這段代碼到此文件下:

index:
  analysis: 
    analyzer:
      mmseg_maxword:
        type: custom
        filter:
        - lowercase
        tokenizer: mmseg_maxword
      mmseg_maxword_with_cut_letter_digi:
        type: custom
        filter:
        - lowercase
        - cut_letter_digit
        tokenizer: mmseg_maxword 

:wq!保存退出

 

6.啟動搜索引擎服務 ,進入 

/Users/gaoaifei/Downloads/elasticsearch-2.1.0/bin

重啟服務:

./elasticsearch

 

7、創建索引,參考資料:

https://github.com/medcl/elasticsearch-analysis-mmseg 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM