【重要】Lucene的学习.docx

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【重要】Lucene的学习

通过这几天的看书和学习,对Lucene有了更进一步的认识,所以总结一下这些天的学习成果把Lucene的学习心得也学出来。1????????? Lucene的认识提到Lucene很多人都知道这个开源的有哪些信誉好的足球投注网站工具,其魅力也是很大的。它让我们对有哪些信誉好的足球投注网站引擎的认识不在那么神秘,也不会在觉得百度和google的技术多么的高深没测,其实其原理都是一样的,只是他们要做的更好,走的更远罢了。Lucene可以对任何的数据做索引和有哪些信誉好的足球投注网站,说这样的话其实不过分,真的就是这样,只要你能处理好这些数据,交给Lucene去建立索引它都可以帮你把这些数据给检索出来,是不是很好玩了。真正好玩的地方还在后面呢。2????????? Lucene的学习前面已经对Lucene有了一些了解,现在我们想象它怎么去有哪些信誉好的足球投注网站这些数据呢,如果知道倒排索引,你就知道了,其实lucene检索的是它自己建立的索引,从索引中的到数据的指针,从而得到数据。其实就这么简单。提到索引,现在的索引技术中有:倒排索引、后缀数组和签名文件这三种,其中后缀数组这种技术虽然检索速度也很快,但是它的数据结构构造和维护都是相当麻烦的所以不可取了。我也懒得去看了。至于签名文件嘛,那是80年代的玩意了,现在已经过时了。现在可是倒排索引的天下啊!相信百度和google都是这种技术。3索引的建立我们从索引的建立入手:我们建立一个lucene的索引时必须先建立该索引文件存放的位置,看一下代码:IndexWriter?writer?=?null;writer?=?new?IndexWriter(“c:\\index”,?new?CJKAnalyzer(),?true);这段代码就时建立一个索引前所必须的操作,先声明这个IndexWriter,实例化它你必须传入三个参数。他们分别代表:你要建立索引文件的存放位置你要使用索引建立的分词方法是否重新建立索引你要建立索引文件的存放位置、你要使用索引建立的分词方法、是否重新建立索引。这样你就告诉lucene我要在c盘的index目录下建立索引文件,我要使用车东老师的二分词算法做分析器、我要在这个目录下删除以前的索引或任何文件创立我的索引文件。索引的建立有三种方式,让我一一道来:1、在内存中建立索引,速度最快但是耗资源,而且重启就没了。new?IndexWriter(new?RAMDirectory(),?new?StandardAnalyzer(),?true);2、在文件系统中建立索引,这里有两个参数,分别是:建立索引的路径、是否要删除当前目录下的文件重新建立索引。new?IndexWriter(FSDirectory.getDirectory(path,?true),?new?StandardAnalyzer(),?true);3、最常见的一种,在制定目录下建立索引,看了源码你就知道这种方法也是用的第二种方式。Lucene的源码:new?IndexWriter(“c:\\index”,?new?CJKAnalyzer(),?true);Indexwriter性能调整参数:第一个优化的参数:mergeFactor 这个参数用于控制lucene在把索引从内存写入到磁盘上的文件系统时内存最大的Document对象的数量。这个数要根据你的计算机设置,默认情况下是10。第二个优化的参数:maxMergeFactor 这个参数用来设置当有多少个Segment时进行合并操作。当然我们知道当索引文件太多的话其检索的速度就会很慢,所以我们要当文件数量一定时让它进行索引的合并。这样就可以加快索引速度,但是这个值要根据你的情况而定。当文档数量较多时我们将值设大些,当文档数量较少时我们将值设小些。第三个优化的参数:minMergeDocs 这个参数用于控制内存中文档的数量。这样我们建立索引已经完成,接下来我们要建立Document对象,因为你必须告诉我要有哪些信誉好的足球投注网站什么吧!好了,看看源码:File?file?=?new?File(“1.txt”);Document?doc?=?new?Document();doc.add(Field.UnIndexed(“filename”,?file.getName()));FileInputStream?fis?=?new?FileInputStream(file);byte[]?b?=?new?byte[fis.available()];fis.read(b);String?content?=?new?String(b);doc.add(Field.Text(“content”,?content));fis.close();以上我们就完成了将1.txt文件放到我们的Document对象了。这里我们用了Field.Text();这样的操作和doc.add();这样的方法建立的

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档