分享

WebLucene中文安装文档

 maomao 2005-12-30
1. 安装环境准备
==============

1.1 安装Java JDK
----------------
安装Java JDK 1.4或更新版本(SUNhttp://java./products/j2se/).
关于如何在相应的操作系统上安装JDK,请参考相应文档。

设置环境变量:
JAVA_HOME=/usr/java/j2sdk1.4.1
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

1.2 安装 JavaCC 2.1
-------------------
从 JavaCC 项目的主页 https://javacc.dev./ 下载 JavaCC 2.1 版本

关于如何安装 JavaCC 2.1 请参考
see https://javacc.dev./doc/installhelp.html
如何找到旧版本的JavaCC
https://javacc.dev./files/documents/17/711/JavaCC2_1.class

命令行模式的安装:
java -cp ./ JavaCC2_1 -c

1.3 安装 Ant
------------
http://ant. 下载Ant关于如何安装Ant的细节请参考

http://ant./manual/index.html

设置环境变量
ANT_HOME=/usr/local/ant
PATH=$ANT_HOME/bin:$PATH

1.4 安装Java应用服务器
---------------------
WebLucene 需要 Servlet 2.3 / JSP 1.2 兼容的Java应用服务器。 此版本在Tomcat

4.1.x和Resin 2.1.x上测试通过。

http://jakarta./tomcat/index.html 安装 Tomcat

设置环境变量:
CATALINA_HOME=/usr/local/tomcat-4.1.24

Tomcat在standalone模式下,使用8080端口。

也可以将应用服务器和Web服务器绑定在一起使用,请参考相应的安装和环境变量设置



1.5 将WebLucene部署到成webapps
-----------------------------
只需将tar.gz包解压到Tomcat的webapps目录


2. Build项目
============

2.1 准备Build环境
----------------
将build.properties.default重命名成build.properties

在环境配置文件 build.properties 中设置一下环境变量:

# if the serverlet.jar (or called j2sdk23.jar is not in your classpath), set

jsdk_jar
jsdk_jar=/usr/local/tomcat/common/lib/servlet.jar
# For windows:
# jsdk_jar=d:\\usr\\local\\tomcat\\common\\lib\\servlet.jar

javacc.home = /usr/java/javacc/bin
# javacc.home = d:\\usr\\local\\javacc2_1\\javacc2.1\\bin

javacc.zip.dir = ${javacc.home}/lib
javacc.zip = ${javacc.zip.dir}/JavaCC.zip

2.2 Build
---------
在weblucene根目录下运行 "ant build" 命令:

% cd /usr/local/tomcat/webapps/weblucene/
% ant build

注意:如果build失败,请检查$CLASSPATH 环境变量,并确保重要的jar包都在相应路

径下。
如果成功Build, 下一步就是准备索引了。

从Sourceforge.net获得Weblucene的最新版本:
匿名导出:
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/weblucene login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/weblucene co

weblucene

sourceforge.net 的cvs 操作起来要稍微麻烦一些,必须先通过ssh

username@cvs.sourceforge.net,
ssh username@cvs.sourceforge.net

把 CVS_RSH 设置为ssh,
export CVS_RSH=ssh

然后才能够通过ext模式进行更新和提交,每次add、commit 操作都要输入一次密码:

cvs -d:ext:username@cvs.sourceforge.net:/cvsroot/weblucene export -D now

weblucene

3. 准备Index
============

weblucene中包含了一个简单的 xml 文档 /weblucene/doc/news_sample.xml
关于xml的结构请参考:/weblucene/doc/weblucene_index.dtd
你可以执行命令创建索引。

创建索引使用IndexRunner 命令:位于

/weblucene/WEB-INF/classes/IndexRunner.class),

参数格式:
-i xml_url 输入XML的URL
-o output_dir 输出索引的目录

注意:
XML数据源将被索引到 $output_dir的 index 子目录下,如果对一个旧的索引进行更新


旧索引将被备份到$output_dir 的 work 子目录下,

例子:
% cd /usr/local/tomcat/webapps/weblucen/WEB-INF/classes/
% export LIB=/usr/local/tomcat/webapps/weblucen/WEB-INF/lib
% java -classpath

/usr/local/tomcat/webapps/weblucen/WEB-INF/classes:$LIB/lucene.jar:
$LIB/xercesImpl.jar:$LIB/log4j.jar:$LIB/java-getopt.jar
格式:
IndexRunner -i /usr/local/tomcat/webapps/weblucene/dump/blog.xml \
-o /usr/local/tomcat/webapps/weblucene/webapp/WEB-INF/var/blog
例如:
java IndexRunner -i /home/weblucene/dump/blog.xml -o

/home/weblucene/webapp/WEB-INF/var/blog


如果显示:
Congratulations! You‘ve indexed the source xml successfully!

说明索引创建成功


3. 运行搜索测试
==============

SearchRunner (位于 /weblucene/WEB-INF/classes/SearchRunner.class) 是一个命令

行的索引测试工具

格式:
%java SearchRunner -i $weblucene_home_directory/WEB-INF/var/$dir_name/index

\
-f IndexName -k "query keywords"
例如:
%java SearchRunner -i /home/weblucene/webapp/WEB-INF/var/blog/index -f

"FullIndex" -k "2002"

搜索结果将被打印到屏幕上:


4. 部署Web应用
=============

以下是一个包含了认证设置的resin配置:

<web-app id=‘/weblucene‘ app-dir=‘/home/weblucene/webapp‘

class-update-interval=‘120‘>
<login-config auth-method=‘basic‘>
<authenticator>


<class-name>com.caucho.http.security.XmlAuthenticator</class-name>
<init-param user=‘username:password:rolename‘/>
</authenticator>
</login-config>
<security-constraint url-pattern=‘/admin‘ role-name=‘rolename‘/>
</web-app>

请按照你导入的XML格式准备XSLT模板,并将文件存放成html.xsl 位于
$weblucene_home_directory/WEB-INF/var/appname/ 下

注意:
请将weblucene/webapp/WEB-INF/conf/目录下的log4j.conf.default重命名成

log4j.conf
另外,你需要为你的每个应用准备一个配置文件,如appname.conf

(或appname.properties),
存放到weblucene/webapp/WEB-INF/conf/目录下,配置文件的内容请参考weblucene.con

f.
weblucene.conf 中定义了项目的缺省属性,当同名的属性出现在appname.conf

中时weblucene.conf
中的属性值将被覆盖.


启动WEB应用服务器:
使用http://localhost:8080/weblucene/search?dir=app&;q=query
方式产看结果输出。

如果发现:jdom NoClassDefFoundError:
lang.NoClassDefFoundError: org/jdom/Document
请将weblucene/webapp/WEB-INF/lib下的jdom.jar复制到 /home/resin/lib/ 下 :-P

webluene 的XML输出格式为:
<?xml version="1.0" encoding="GBK"?>
<WebLuceneResultProtocol ver="1.0">
<Query>query</Query>
<Encoding>GBK</Encoding>
<UriEncodedQuery>query</UriEncodedQuery>
<Start>0</Start>
<Pagesize>10</Pagesize>
<OutputFormat>xml</OutputFormat>
<DirName>app</DirName>
<IndexName>FullIndex</IndexName>
<OrderStyle>Date</OrderStyle>
<TimeUsed>4.0</TimeUsed>
<ShowFields>Title,Author,Content,PubTime</ShowFields>
<HighlightFields>Title,Author,Content</HighlightFields>
<Total>7015</Total>
<TotalResultLimit>1000</TotalResultLimit>
<RecordSet>
<Record score="0.99999994" id="313619">
<Id>2120</Id>
<Title>foo</Title>
<Author/>
<Content>blah blah</Content>
<PubTime>2000-06-13 00:00:00</PubTime>
</Record>
</RecordSet>
<WebLuceneResultProtocol>

5. 输出成其他格式:HTML/RSS
==========================
你也可以将结果使用XSLT模板转换成HTML和RSS格式
结果输出中,
使用:outputFormat=HTML参数控制输出为HTML格式,
使用:outputFormat=RSS 参数控制输出为RSS 2.0格式

6. 查询结果的排序方式:DocID/Score
你可以指定查询结果的排序方式:
使用: orderStyle=DocID 结果将按数据加入索引库的先后顺序(倒序方式)排序,
使用: orderStyle=Score 结果将按其匹配度排序

7. 选择进行检索的索引
有可能你在一个索引库中放置了多项索引,每一项索引针对不同的检索内容,
如以下三项索引AuthorIndex,TitleIndex,AllIndex 分别是针对作者,标题以及
作者 + 标题 + 内容 + ...的索引,那么你可以
使用: index=AuthorIndex 仅对作者一项进行检索
使用: index=TitleIndex 仅对标题一项进行检索
使用: index=AllIndex 对更多内容进行检索

8. 完成的数据导入成XML格式的脚本样例:(PHP)和模板样例:

http://www.blogchina.com/weblucene/

dump/ 数据库(SQL SERVER)的PHP导出脚本和crontab脚本
blog_dump.php 从数据库导出BLOG文章到XML
comments_dump.php 从数据库导出评论到XML
blogchina.inc 数据库链接配置文件
dump.sh 每天的导出脚本
index.sh 创建索引脚本

webapp/var/
相应应用程序的XSLT模板

9. 样例索引脚本: index.sh
================================

#!/bin/sh
# $Id: BUILD.txt,v 1.7 2004/11/21 01:56:37 chedong Exp $
#
# dump and rebuild blogchina index in crontab
# 2 2 * * * (cd /home/weblucene/dump/; ./dump.sh > dump.log; ./index.sh >

index.log)

# java
export JAVA_HOME=/usr/java/jdk
export ANT_HOME=/usr/java/ant

# path
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH

export LIB=/home/weblucene/webapp/WEB-INF/lib
export

CLASSPATH=$LIB/../classes:$LIB/lucene.jar:$LIB/xercesImpl.jar:$LIB/log4j.jar

:$LIB/java-getopt.jar

export WEBLUCENE=../webapp/WEB-INF/var

# rebuild index
ARGS="-Xms64m -Xmx256m"
java $ARGS IndexRunner -i blog.xml -o $WEBLUCENE/blog
java $ARGS IndexRunner -i comments.xml -o $WEBLUCENE/comments

完成了,尝试使用自己的脚本将数据导入到XML格式中,并创建Lucene索引,祝你好运。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多