一、說明
安裝環境
centos6.6 (64位)
python2.7.10 (升級系統預設python版本的方法參見在CentOS 6.5上安裝python2.7)
約定
工作目錄假定為當前使用者的HOME目錄
安裝的各軟體版本以文件編寫時的最新版為基準,請結合實際情況參考。
尖括號"<>"包括的內容代表根據實際安裝情況應填寫的具體內容。
二、安裝前的準備工作
下載軟體(以最新版本號為準)
pylucene:wget http://mirrors.cnnic.cn/apache/lucene/pylucene/pylucene-6.2.0-src.tar.gz
JDK: 因為需要確認授權,所以直接用wget下載可能會有問題,建議到官方網站 下載到本地後再上傳至伺服器。
ANT:wget https://www.apache.org/dist/ant/source/apache-ant-1.9.7-src.tar.gz
setuptools:
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-6.1.tar.gz
解壓
tar zxvf pylucene-6.2.0-src.tar.gz
tar zxvf setuptools-6.1.tar.gz
tar zxvf apache-ant-1.9.7-src.tar.gz
三、安裝JDK
舊版本刪除
檢視系統中已經存在的JAVA版本:rpm -qa |grep java
rpm -e --nodeps
安裝:rpm -ivh jdk-8u101-linux-x64.rpm
版本確認:java -version
環境變數配置
- 編輯profile:vi /etc/profile
JAVA_HOME=<JDK安裝目錄> JRE_HOME=<JDK安裝目錄>/jre PATH=PATH:PATH:JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=.:JAVAHOME/lib/dt.jar:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH
- 重新載入profile:source /etc/profile
四、安裝setuptools
cd ~/setuptools-6.1
python setup.py install
五、安裝JCC
安裝gcc和gc++:yum install gcc gcc-c++
修改JCC安裝配置檔案setup.py
cd ~/pylucene-6.2.0/jcc
將JDK字典中鍵為linux2的值改為JDK實際安裝目錄,JCC2.22的setup.py在57行處。
vi setup.py
JDK = { ... ... 'linux2': '<JDK安裝目錄>', ... ... }
安裝JCC
python setup.py build
python setup.py install
六、安裝ANT
通過yum安裝的ANT版本太低,pylucene安裝要求ANT版本在1.8以上會失敗。如果已經安裝,則要先解除安裝。
確定ant版本:ant -version
解除安裝通過yum安裝的舊版本:yum remove ant
編譯生成
cd ~/apache-ant-1.9.7
./build.sh
- 部署ANT
編譯後會在~/apache-ant-1.9.7目錄中生成dist目錄,其中存放著編譯生成的最新版的可執行檔案。將dist移動到系統合適的目錄中,比如/usr/local/ant目錄。
mv ~/apache-ant-1.9.7/dist /usr/local/ant
環境變數配置
編輯profile:vi /etc/profile
```
ANT_HOME=/usr/local/ant
PATH=PATH:PATH:ANT_HOME/bin
ANT_OPTS="-Xms1300m -Xmx2048m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m"
export ANT_HOME
``` * 重新載入profile:source /etc/profile
七、安裝pylucene
- 修改 Makefile
cd ~/pylucene-6.2.0
vi Makefile
* 修改編譯環境引數
# Linux (Debian Jessie 64-bit, Python 2.7.9, Oracle Java 1.8
# Be sure to also set JDK['linux2'] in jcc's setup.py to the JAVA_HOME value
# used below for ANT (and rebuild jcc after changing it).
PREFIX_PYTHON=/usr
ANT=JAVA_HOME=<jdk安裝目錄> <ant安裝目錄>/bin/ant
PYTHON=$(PREFIX_PYTHON)/bin/python
JCC=$(PYTHON) -m jcc.__main__ #此處一定要把--shared選項去掉,否則會報錯。
NUM_FILES=8
* 增強對中文分詞的支援
找到這條語句句,去掉前面的註釋
#JARS+=$(SMARTCN_JAR) # smart chinese analyzer
找到這條語句
--exclude org.apache.lucene.sandbox.queries.regex.JakartaRegexpCapabilities \
在下方新增如下語句:
--exclude org.apache.lucene.analysis.cn.smart.AnalyzerProfile \
- 編譯安裝
make過程中會下載安裝ivy,如果下載失敗會導致編譯失敗。如果出現這種情況可以把下載失敗的ivy安裝檔案刪除後通過make重新下載安裝。
make
make install