一、说明

  • 安装环境

  • 约定

    • 工作目录假定为当前用户的HOME目录

    • 安装的各软件版本以文档编写时的最新版为基准,请结合实际情况参考。

    • 尖括号"<>"包括的内容代表根据实际安装情况应填写的具体内容。

二、安装前的准备工作

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

centos6.x 安装pylucene (20161027改)的更多相关文章

  1. Centos6 yum安装openldap+phpldapadmin+TLS+双主配置

    原文地址:http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%8 ...

  2. centos6.4安装配置vpn服务器步骤详解

      centos6.4安装配置vpn服务器步骤详解,从安装VPN到配置VPN服务器.配置VPN服务器的路由转发功能,每一步都很详细   一.VPN服务器环境说明 操作系统:CentOS release ...

  3. CentOS6.5安装配置Samba

    CentOS6.5安装配置Samba 本文的场景是虚拟机运行CentOS6.,本机是Win7,现欲把CentOS上的一个文件夹共享出来,Win的机器可以读写. Samba与window连接需要使用Ne ...

  4. [转]Centos6.5安装配置keepalived

    参考博文: Centos6.5安装配置keepalived CentOS6.5 keepalived详解及实现Nginx服务的高可用性 CentOS6.5 LVS + KeepAlived搭建步骤 我 ...

  5. centos6的安装

      centos6的安装,一步一图,有图有真相     打开虚拟机VMware,点击文件,选择[新建虚拟机],如图所示

  6. Centos6.9安装vsftpd并配置多用户的方法

    本文介绍了Centos6.9安装vsftpd并配置多用户的方法,分享给大家,具体如下: 一.安装vsftpd ? 1 2 3 4 5 6 7 8 #安装vsftpd yum -y install vs ...

  7. centos6.8安装cdh5.10.0(离线版)

    Centos6.8安装CDH5 相关包的下载地址: Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/ CDH安装包地址:http://a ...

  8. centos6.5安装Mysql5.6及更改密码

    (一) centos6.5安装Mysql5.6 二进制文件安装的方法分为两种: 第一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件: 第二种是使用RPM或其他包进行 ...

  9. Centos6.5安装中文支持和中文输入法---VIM编辑器中文支持

    Centos6.5安装中文支持和中文输入法 第一步:中文支持:    在shell命令下输入: # vi  /etc/sysconfig/i18n 然后修改LANG="en_US.UTF-8 ...

随机推荐

  1. HTML和CSS经典布局4

    如下图: 需求: 1. 如图 2. 可以从body标签开始. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xht ...

  2. ARM汇编指令调试方法

    学习ARM汇编时,少不了对ARM汇编指令的调试.作为支持多语言的调试器,gdb自然是较好的选择.调试器工作时,一般通过修改代码段的内容构造trap软中断指令,实现程序的暂停和程序执行状态的监控.为了在 ...

  3. jieba.NET与Lucene.Net的集成

    首先声明:我对Lucene.Net并不熟悉,但搜索确实是分词的一个重要应用,所以这里还是尝试将两者集成起来,也许对你有一参考. 看到了两个中文分词与Lucene.Net的集成项目:Lucene.Net ...

  4. Node.js Base64 Encoding和Decoding

    如何在Node.js中encode一个字符串呢?是否也像在PHP中使用base64_encode()一样简单? 在Node.js中有许多encoding字符串的方法,而不用像在JavaScript中那 ...

  5. xamarin UWP中MessageDialog与ContentDialog的区别

    MessageDialog与ContentDialog的异同点解析: 相同点一:都是uwp应用上的一个弹窗控件.都能做为弹出应用. 相异点一:所在命名空间不同,MessageDialog在Window ...

  6. Web前端开发大系概览 (前端开发技术栈)

    前言 互联网建立50多年了,网站开发技术日新月异,但web前端始终离不开浏览器,最终还是HTML+JavaScript+CSS这3个核心,围绕这3个核心而开发出来大量技术框架/解决方案. 我从2000 ...

  7. HTML5的实用

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #ffffff } p.p2 ...

  8. SSISDB1:使用SSISDB管理SSIS Projects

    使用Project Deployment Model,将SSIS Project部署到Integration Services Catalog之后,SSISDB负责管理SSIS Project.在SS ...

  9. 移动端HTML5<video>视频播放优化实践

    遇到的挑战 移动端HTML5使用原生<video>标签播放视频,要做到两个基本原则,速度快和体验佳,先来分析一下这两个问题. 下载速度 以一个8s短视频为例,wifi环境下提供的高清视频达 ...

  10. 如何用Node编写命令行工具

    0. 命令行工具 当全局安装模块之后,我们可以在控制台下执行指定的命令来运行操作,如果npm一样.我把这样的模块称之为命令行工具模块(如理解有偏颇,欢迎指正) 1.用Node编写命令行工具 在Node ...