1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

使用WebLucene建立你自己的全文索引搜索引擎

本帖由 walker2006-03-05 发布。版面名称:后端开发

  1. walker

    walker New Member

    注册:
    2005-09-04
    帖子:
    40
    赞:
    2
    +---------------------------------------------------------------------------+
    | 使用WebLucene建立你自己的全文索引搜索引擎
    +---------------------------------------------------------------------------+

    ======================
    介绍:
    ======================

    WebLucene为Lucene做一个通用XML接口:更方便的在WEB应用中嵌入全文检索功能
    提供了XML的数据输入接口:适合将原有基于各种数据库的数据源导入到全文索引中,保证了数据源的平台无关性;
    通过了基于XML的搜索结果输出:方便了通过XSLT进行前台的结果显示;
    MySQL \ / JSP
    Oracle - DB - ==> XML ==> (Lucene Index) ==> XML - ASP
    MSSQL / - PHP
    MS Word / \ / XHTML
    PDF / =XSLT=> - TEXT
    \ XML
    \_________WebLucene__________/

    使用过程如下:
    将数据用脚本导出成XML格式;
    将XML数据源导入LUCENE索引;
    从WEB界面得到XML结果输出,并通过XSLT生成HTML页面

    以上内容可以访问车东的网站进行具体了解.
    相关连接 : http://www.chedong.com/twiki/bin/view/Tech/WebLucene

    ======================
    安装WebLucene
    ======================

    安装依存关系

    1.Java sdk : java程序运行的基本环境 Ant, Javacc, Weblucene 都需要在它的基础之上运行.
    2.Ant : WebLucene 依据Ant的任务格式制作了build.xml的安装脚本,所以想快速安装必须要有ant的支持.
    3.Javacc : 编译 WebLucene 时候要用到

    安装环境:WINDOWS

    首先,我们先来安装JAVA SDK.

    ************************
    一.安装JAVA SDK
    ************************

    1. 到 http://java.sun.com/j2se/downloads/index.html 下载最新版本的sdk. 本文中使用的是j2sdk1.4.2_10.
    2. 安装sdk到 c:\j2sdk1.4.2_10
    3. 然后设置好path和classpath,在这里就不多说了.

    ************************
    二.ANT 安装
    ************************

    1. 到 http://ant.apache.org/ 下载最新版本的ant.
    2. 把ant解压到C:\ant
    3. 在系统环境变量中设置以下三个变量

    ANT_HOME = c:\ant
    JAVA_HOME = C:\j2sdk1.4.2_10
    Path = %ANT_HOME%\bin;%JAVA_HOME%\bin;

    Path在已有的基础上添加, 上面的ANT_HOME和JAVA_HOME 只是为了方便而设,也可以直接在Path环境变量中写全地址.看个人爱好而定了.

    4. 进入cmd命令行模式 输入ant.如果看到以下信息,说明ant安装完成.

    Buildfile: build.xml does not exist!
    Build failed

    ************************
    三. TOMCAT 安装
    ************************

    1. 到 http://tomcat.apache.org/ 下载Tomcat, 这里我下载的是4.1.31 ( 4 和 5 在后面的安装中会稍有不同. )
    2. 安装Tomcat,安装的时候可以选择注册为系统服务让其自动启动.
    3. 打开浏览器输入 http://localhost:8080/ 看看是否安装成功.

    ************************
    四. JAVACC
    ************************

    1. 到 https://javacc.dev.java.net/ 下载javacc 2.1的版本 ( 高版本不能正确编译目前的 weblucene 0.6 ) javacc本身是用java编写的,他是一个class.
    2. 在命令行模式下, 进入javacc文件目录, 输入 java -cp . JavaCC2_1, 然后弹出GUI的安装界面.
    3. 路径输入 c:\javacc\ 然后安装即可.

    ************************
    五. WebLucene
    ************************

    相关连接:http://www.chedong.com/twiki/bin/view/Tech/WebLucene

    1. 到 http://sourceforge.net/projects/weblucene/ 下载weblucene 0.6
    2. 解压后复制weblusene到tomcat的webapps目录下. ( webapps/weblusene/ )
    3. 建立两个空的文件夹 classes 和 build 否则ant build将会提示错误.
    4. 在weblucene根目录下找到 build.properties.default 将其改名为 build.properties
    5. 编辑 build.properties 修改内容如下:

    # ---------------------------------------------------------
    # WebLucene BUILD PROPERTIES
    # ---------------------------------------------------------

    jsdk_jar= E:/usr/local/Tomcat 4.1/common/lib/servlet.jar

    # Home directory of JavaCC

    javacc.home = C:/avacc/bin
    javacc.zip.dir = ${javacc.home}/lib
    javacc.zip = ${javacc.zip.dir}/JavaCC.zip

    其中, 路径是 / 不是 \\.
    由于tomcat版本的不同 servlet.jar 命名会有所不同, 在Tomcat 4下为 servlet.jar 而在Tomcat 5下为 servlet-api.jar

    6. 在命令行模式下 进入weblucene根目录 执行安装命令 ant build ant会自动把weblucene安装好.
    7. 到目录 weblucene\webapp\WEB-INF\classes 下, 创建一个批处理文件 index.bat 内容如下:

    IndexRunner -i ../../../dump/blog.xml -o ../var/blog

    然后保存.

    8. 运行 index.bat

    如果看到如下类似信息

    Fri Feb 17 22:40:33 CST 2006 Input is: ../../../dump/blog.xml
    0 [main] INFO IndexRunner - read source from ../../../dump/blog.xml
    Lucene index will be rebuild to ../var/blog\index
    50 rows added Total time Use:0 second
    1688 [main] INFO IndexRunner - Great! Indexing OK

    说明weblucene索引程序已经可以正常工作并且已经对/dump/blog.xml数据文件进行索引任务.
    如果出现类似错误 Exception in thread "main" java.lang.NoClassDefFoundError 可以按照如下方法解决.

    进入目录 weblucene\webapp\WEB-INF\lib 把目录下全部的以.jar结尾的包文件全部复制到 weblucene\webapp\WEB-INF\classes 下
    然后用WINRAR 进行 "解压到当前目录" 的操作. 再次运行 index.bat.

    9. 进入Tomcat的conf目录, 编辑 server.xml, 查找 <!-- Tomcat Examples Context --> 然后在其下一行添加如下内容

    <Context path="/weblucene" docBase="E:/usr/local/Tomcat 4.1/webapps/weblucene/webapp" debug="0" reloadable="true" crossContext="true">
    </Context>

    具体的docBase路径 和 path虚拟路径名称 根据实际情况填写.

    10. 重新启动Tomcat,在浏览器中访问: http://localhost:8080/weblucene/search.html 就可以出现搜索界面,输入你要查找的关键字试试看吧:)


    ----------------------------------------------------

    walker <walker[at]neatstudio[dot]com> 2006-2-18 0:42 武汉