Lucene是一套全文检索的API_第1页
Lucene是一套全文检索的API_第2页
Lucene是一套全文检索的API_第3页
Lucene是一套全文检索的API_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0、准备工作I用怡标识I歌件|CIA5ETATHCwSttcljAimiui速将裁明到HU缨希鬣茎疙1W雇用程序!0、准备工作I用怡标识I歌件|CIA5ETATHCwSttcljAimiui速将裁明到HU缨希鬣茎疙1W雇用程序!t词良用;'•』F』刑(新I[壑环境壹量肯,计算机世I理逝击特[芸皇物瓦理顿成玖丁血站的常户衰量苫曜):蒙量眉10:WMElitTEUFC1AZEFMK所更覆,...[wfittLyillgLucene是一套全文检索的API,对其介绍的文章和应用的案例都多,可参考lucene及本文的参考文献。此次学习,以实用为主,一是简单应用,二是Web应用,三是汉化,四相关应用(Lucene主页上在SandBox中)。去Lucene的主页下载目前的稳定版本lucene-1.2.tar.gz,解压缩,将lucene-1.2目录下的两个jar文件lucene-1.2.jar和lucene-demo2-1.2.jar放到适当的目录下后,并将其加入到CLASSPATH环境变量中。tarzxvflucene-1.2.tar.gz<----解压缩cdlucene-1.2cp*.jar$DP< 存放jar文件的目录,根据具体工作要求用实际目录替换CLASSPATH=$CLASSPATH:$DP/lucene-1.2.jar:$DP/lucene-demosT.2.jar;exportCLASSPATH如果不想在每次都登录后,可以编辑/etc/profile或自己目录下的.profile,将上面的最后一行加到文件的最后一行。Windows的设置,右击桌面的“我的电脑”,选“高级”一〉“环境变量”一〉选中CLASSPATH一>“编辑”,在输入框中加入两个jar文件的全路径名,注意分隔符是分号(;)。参见右图。1、运彳亍demo$javaorg.apache.lucene.demo.IndexFiles/usr/local/man/manl/<--对man文件建立索引adding/usr/local/man/manl/mysql.ladding/usr/local/man/man1/cvs.11614totalmilliseconds$javaorg.apache.lucene.demo.SearchFiles<--进行检索Query:passwordSearchingfor:password7totalmatchingdocuments0./usr/local/man/man1/mysql.16./usr/local/man/man1/mysqlshow.1Query:OK!Lucene自待的demo运行成功这个demo程序调用的主要API函数:/*关于索引的主要函数*/Filefile=newFile(argv[]);IndexWriterwriter=newIndexWriter("index",newStandardAnalyzer(),true);Documentdoc=newDocument();doc.add(Field.Text(〃path〃,file.getPath()));doc.add(Field.Keyword(〃modified〃,DateField.timeToString(file.lastModified())));FileInputStreamis=newFileInputStream(f);Readerreader=newBufferedReader(newInputStreamReader(is));doc.add(Field.Text(〃contents〃,reader));writer.addDocument(doc);writer.optimize();writer.close();/*关于检索的主要函数*/Searchersearcher=newIndexSearcher("index");Analyzeranalyzer=newStandardAnalyzer();Queryquery=QueryParser.parse(lineforsearch,"contents",analyzer);Hitshits=searcher.search(query);for(inti=start;i<hits.length();i++)(Documentdoc=hits.doc(i);Stringpath=doc.get("path");System.out.println(i+"."+path);}3、运行LuceneWeb假定tomcat装在$TOMCATHOME目录下,具体应用时用真实的目录替换$TOMCATHOME。cd$TOMCATHOME/webappsmkdirlucenedbcdlucenedbjavaorg.apache.lucene.demo.IndexHTML-create-index$TOMCAT/webapps/lucenedb../examples<--用相对路径“..”,一来指明被索引的文件的位置,二来用来显示被索引文件的URL,因为检索的jsp程序在luceneweb子目录下.examples可用其它的真实应用的目录名来替换cd..cp~/lucene-1.2/luceneweb.war.<--luceneweb.war在你解压缩生成的lucene-1.2目录下../bin/shudown.sh../bin/startup.sh

然后通过客户端访问:8080/luceneweb,如果顺利浏览器应出现右边所示的内容。.再到服务器端cdlucenewebWekometoHieLikeiieTeinphteapphtation(Tlusisthehe^dei}viconfiguration.jsp<--WekometoHieLikeiieTeinphteapphtation(Tlusisthehe^dei} n的值改为100 Poge Search "$TOMCATHOME/webapps/luc「口口」.. enedb";cd..jar-urluceneweb.warluceneweb再到客户端,刷新刚才的页面,然后就可以输入单词进行检索了。遗憾的是,此是只能检索英文单词。且如果命中的html页面的title是汉字的话,显示也有问题。如图。t口tlieLu<cueTemplateoppli<jhoniTIhmistliehe3<kifIhxument Sunun^jyB<>DY;8{?R<>LLB_AR-FA{JE-(:»L<>R=FEFFF4,SC1R<?LIHIGHLIGHT-=FFI►"!►E.S<E<^LLE_U>SILAIh:=FFI^I^E.S<Tj>LLE_AJ>3ITIGHT-<1<T<T.=FCRCEQLLEAR-ARRHSmOF=FFhhhj,RORILLEAKT<1<^L<T.=FFFFFF.B<>DY;S{?R<>LLB_AK-FA{?E-(:»L<>R=FEFFF4,SC1R<>LIHTGHLIGHT-<1<T<^R=FFI^"1.S<E<^LLB_AJ>SILAIh:toeeeeee =FFI^I^E.S<Tj>LLE_AJ>3ITKiHT-<1<T<T.=FC1PiJTR3口-3口口厂国V-LCT厂币HHHF以LTiTTRAP-H此处的IndexHTML,可以对htm、html和txt类型的文件进行索引,用的是一个HTMLParser,除此以外与上一例基本相同。不仅仅在推广和介绍方面,车东在Lucene的汉化及web应用,也作出了极大的极大的贡献。他将自己的汉化和web应用两方面的成果,放在sourceforge上成了开源的项目。下面主要是对这个项目的学习笔记。对发了两个分,一个单字一个进行分引和检索了。译后一起打入了,如果不愿个Analyzer对发了两个分,一个单字一个进行分引和检索了。译后一起打入了,如果不愿个Analyzer载。Analyzer,我IndexHTML和Analyzer也Lucene的汉化,车东开Analyzer,一个是二元切切分。利用这两个中的任析,都可以进行汉字的索我把这两个Analyzer编到lucene-1.2.jar中自己动手进行编译这两的朋友,可以从这儿下有了新的把IndexFiles、SearchFiles中的用了新CJKAnalyzer做Query:用户管理Searchingfor:"用户户管管理10totalmatchingdocuments0+/test/yhgl+htm-中心用户管理1+/test/jtyhglts+htm-信息出楚2+/test/jtyhgltz+htm-信息出韬3+/test/menuyh+htm-中心用户管理4+/test/ytwyhts3+htm-佶息出雷5+/test/ytwyhts+htm-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论