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
