1.概述html
Elastic Search 是一個基於Lucene構建的開源,分佈式搜索引擎。設計用於雲計算中,可以達到實時搜索,穩定,可靠,快速,安裝使用方便。支持經過HTTP使用JSON進行數據索引前端
2 、環境介紹與安裝準備java
一、環境說明node
MAC OS X 10.10.95android
二、安裝準備git
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。github
三、安裝apache
一、安裝JAVAvim
關於Java的安裝,請參照這裏 http://www.ifunmac.com/2013/04/mac-jdk-7/ 後端
二、安裝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
四、安裝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
五、下載中分文詞庫
下載: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
七、建立索引,參考資料: