资源描述:
《lucene 初级学习资料.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、lucene简介lucene是什么?lucene是一套JavaAPI,它不是一个独立的搜索引擎系统,但是你可以使用lucene开发搜索引擎系统。现在我们学习lucene主要是学习如何使用别人开源的东西,来组建自己想要的搜索引擎系统。在这里我是和大家共同讨论学习lucene,前些日子我先简单的学习了一下,下面给大家具体的介绍一下lucene.lucene有什么(也就是lucene的组成)(1)indexer(2)searcher一个完整的搜索引擎有四部分组成,lucene可以完成两部分。1.2.1大家先来看一个小例子。首先来回顾一下IO读取文件,lucene的
2、功能主要是全文搜索,所以对文件的读写时相当多的。packageluceneindexer;importjava.io.*;publicclassFileText{//读取一个文件的所有内容publicstaticStringgetText(Filef){StringBuffersb=newStringBuffer("");try{FileReaderfr=newFileReader(f);BufferedReaderbr=newBufferedReader(fr);Strings=br.readLine();while(s!=null){sb.append(
3、s);s=br.readLine();}br.close();}catch(Exceptione){sb.append("");}returnsb.toString();}//读取一个文件的所有内容--重载publicstaticStringgetText(Strings){Stringt="";try{Filef=newFile(s);t=getText(f);}catch(Exceptione){t="";}returnt;}//主函数,测试publicstaticvoidmain(String[]args)throwsIOException{Strin
4、gs=FileText.getText("doc/test.htm");System.out.println(s);}}上面的例子是对文件的读取,对于luncen读取文件是为创建索引获取内容的,有了内容才可以创建索引,下面再看个例子就是创建索引。packageluceneindexer;importorg.apache.lucene.document.Document;importorg.apache.lucene.document.Field;importorg.apache.lucene.index.IndexWriter;importorg.apach
5、e.lucene.analysis.standard.StandardAnalyzer;importjava.io.*;importjeasy.analysis.MMAnalyzer;publicclassFileIndexer{publicstaticvoidmain(String[]args)throwsjava.io.IOException{StringindexPath="file";IndexWriterwriter=newIndexWriter(indexPath,newStandardAnalyzer(),true);//创建索引的构造方法Do
6、cumentdoc=newDocument();//创建索引的主要元素Filef=newFile("doc/黑帝.htm");Stringname=f.getName();Fieldfield=newField("name",name,Field.Store.YES,Field.Index.TOKENIZED);doc.add(field);Stringcontent=FileText.getText(f);field=newField("content",content,Field.Store.YES,Field.Index.TOKENIZED);doc.
7、add(field);Stringpath=f.getPath();field=newField("path",path,Field.Store.YES,Field.Index.NO);doc.add(field);writer.addDocument(doc,newMMAnalyzer());doc=newDocument();f=newFile("doc/China.htm");name=f.getName();field=newField("name",name,Field.Store.YES,Field.Index.TOKENIZED);doc.ad
8、d(field);content=FileText.