WebLogic Portal 8.1 平台上运行Lucene搜索引擎

来源:百度文库 编辑:神马文学网 时间:2024/05/24 02:45:48
WebLogic Portal 8.1 平台上运行Lucene搜索引擎 浏览次数: 1346 时间:2004-11-05

作者:Alex Toussaint

Lucene是Apache.org的一个开源搜索引擎框架,它包含在Jakarta开源项目家族中。Lucene提供了用于搜索和索引不同类型文件和数据提供者的库。
因为Lucene是一个搜索框架,所以创建并运行它需要做一些工作。没有一个安装程序或是GUI工具让您配置运行Lucene搜索引擎,但是,Lucene通过简单的配置就可以直接手工安装,并且提供一系列功能强大的搜索API。
可下载的软件包提供了一些模块用来索引本地存储的文本文件和html内容。另外,定制模块可以从网络上创建或是下载。LARM插件是一个很好的例子,它里面允许Lucene与crawler功能的集成。
Lucene有两个主要的服务:索引和搜索。索引和搜索的任务是相互独立的。索引和搜索服务都可用,这样开发人员就可以扩展他们来满足自己的需求。Lucene完全由Java编写,并且十分注重性能。
文本索引是 Lucene 重点构造的一个可搜寻的索引区域。索引是为高性能内容查询而创建的知识库。Lucene提供丰富的API可以与存储在索引中的信息交互。您可以简单地指定索引作为文档名称列表和它的摘要;也可以复杂地指定索引作为整个文档存储内容和相关的附加元数据。例如:可以按附加的元数据信息排队,这样,查询结果中就可以区分出优先级较高的一些文档。
文本检索在索引中创建一个包含一系列用户搜索条件的查询。索引知识库的建立可以提高查询速度,并且可以返回按相关性排序的查询结果。Lucene提供多种类型的行业中常用的查询。几种主要的查询如下表:
通配符查询:Lucene支持单个或多个通配符查询。 模糊查询:模糊查询是基于Levenshtein Distance或者Edit Distance算法的。 类似查询:Lucene支持在一定的具体范围内查找词组。 区间查询:区间查询允许按照介于最大至于最小值之间来匹配文档。 条件查询:Lucene提供基于条件发现的文档匹配级别。 布尔运算符:布尔运算符允许多个检索条件用逻辑运算符连接,Lucene支持 AND、“+”、OR、NOT和“-”作为布尔运算符。
开始
要开始使用Lucene,首先要下载Lucene的JAR文件和搜索模块示例。它们可以从下面网址获取
http://jakarta.apache.org/lucene/docs/index.html
或者
http://cvs.apache.org/dist/jakarta/lucene/v1.3-final/
本文撰写时使用的版本是Lucene1.3,也可以下载最新发布的版本。您可以通过阅读changes.txt文件来了解新版本比1.3版有哪些更新。
首先下载与本文相关的示例代码压缩文件,包括:
Lucene 搜索的Java页面流 Lucene 搜索的portlet文件 Lucene库 示例内容l 示例索引
下载作者提供的与本文相关的文件:
LuceneSearchlucene_libs
在WebLogic Portal 8.1 sp2平台的Sampleportal中添加Lucene
下面分步讲解如何安装Lucene和Lucene示例。
1、设置JAVA_HOME指向您的Java安装目录,这样可以针对例子内容运行索引引擎。
2、 您可以使用示例包中的Lucene库,也可以从Lucene站点获得最新的包。获得了Lucene jar文件(lucene-1.3-final.jar,lucene-demos-1.3-final.jar)后,把它们放到以下目录中:
\bea\weblogic81\samples\portal\portalApp\sampleportal\WEB-INF\lib
3、要运行索引程序,把步骤1中的两个jar文件放到Java CLASSPATH中以便进行索引。
4、放置文件LuceneSearch 到Sampleportal的根目录下。得到类似如下的目录结构:
\bea\weblogic81\samples\portal\portalApp\sampleportal\LuceneSearch
LuceneSearch文件夹中有一个Content目录,它里面有具体的一些示例内容文本文件。
\bea\weblogic81\samples\portal\portalApp\sampleportal\LuceneSearch\Content
索引最好创建完成,以防万一您不想在下一步中花时间来运行索引。
5、在Sampleportal webapp目录下执行如下命令行,运行内容目录下的索引。
<应用程序路径> java org.apache.lucene.demo.IndexFiles <内容路径>
将得到如下界面:
\bea\weblogic81\samples\portal\portalApp\sampleportal java org.apache.lucene.demo.IndexFiles \bea\weblogic81b\samples\portal\portalApp\sampleportal\ LuceneSearch\Content

这个例子中,示例包里有一系列简单的内容文本文件,这些文件与BEA的产品系列相关。
6、索引任务完成后,结果应该是在您的内容目录下创建一个索引目录,如下:
\bea\weblogic81\samples\portal\portalApp\sampleportal\ LuceneSearch\Content\index
7、索引创建后,再返回配置一个portlet以便与索引通信。示例包中有一个简单的java页面流例子,它和Lucene引擎通信,并且假定索引在Sampleportal目录中。启动WebLogic Workshop,从菜单栏中选择File>>Open Application>>Pick the PortalApp应用程序,它包含了Sampleportal。

8、您可能要调整Java页面流和Jsp页面中的代码来适用您的环境。查询结果页面是由results.jsp页面显示的,这??癨??个jsp可以从Lucene站点上获取。所有的调整都完成后,下一步就是把Lucene Search portlet添加到Sampleportal上。这一步可以直接在WebLogic Workshop 上把portlet拖到Portal Designer中,或者右击Portal designer,然后从portlets列表中选择。
然后从Portal菜单中选择View this Portal。

9、在portal出现后,您可以测试查询portlet,看看查询结果。

如何在BEA WebLogic Portal 8.1平台使用Lucene?
WebLogic Portal 8.1 在Administration Portal帮助系统中使用Lucene的标准功能。帮助系统的内容是基于HTML的文档,索引被置于Administration Portal Web应用程序中。由于Administration Portal被部署在扩展名为.war的压缩包文件中,还需要其他操作使Lucene与索引文件协调。
可以随时通过点击Administration Portal右上方的帮助图标进入上下文帮助系统。从下图中您可以看到帮助系统返回一系列查询结果,这些查询结果是分页显示的。除此之外,还有很多搜索技巧可以帮助您找到想要的结果。

结束语
Lucene 搜索引擎是完全基于Java的搜索框架,它可以很方便地集成到您的Web应用程序中。此外,Internet上的一些插件可以提高搜索库的性能,增强从不同数据源获取数据的能力。
您可以从以下链接获取Lucene库和一些其他的相关信息:
Lucene主页:http://jakarta.apache.org/lucene/docs/index.html
性能基准:http://jakarta.apache.org/lucene/docs/benchmarks.html
FAQ:http://lucene.sourceforge.net/cgi-bin/faq/faqmanager.cgi
运行Lucene的站点:http://wiki.apache.org/jakarta-lucene/PoweredBy
原文出处:http://dev2dev.bea.com/products/wlportal81/articles/lucene_search_wlp81.jsp
_xyz