传智播客JAVA培训2010-4-29Lucene总结

来源:互联网 发布:网络安全法 实名认证 编辑:程序博客网 时间:2024/05/22 11:47

传智播客JAVA培训2010-4-29Lucene总结

今天心情不错,北京的天终于露出了太阳那花儿一般的脸蛋儿,心情也不由因此而生出喜悦,人总是会受环境的影响,下午回来新闻中我看到广东那边发生的事,我心情说不出来的沉重,为什么这些人不好好珍惜生活呢?为什么要拿那些无辜的小孩子出气,唉!

生活依然要继续,学习依旧要继续,就像每天都要到租房外面的小店打白米饭了,虽然味道不是很好,但却是不可缺少的一部分,生活本来就如此,我寝室的哥们天天都吃白馒头,我就不清楚了,哥们,你为什么就那么喜欢吃那馒头,哥们却说,我吃米饭吃了肚子痛,真是笑悼了大牙了,他一天三顿,顿顿吃馒头。就像我一天要吃三次白米饭一样,不管我怎么努力的想去吃几个馒头,但我发现,我改变不了,我多年来形成的习惯,还是米饭好,哥们认为馒头好,谁也改变不了谁。

汤阳光老师,我只能说是人如其名,真的是很阳光的一名老师。从他的样子来推断的话,他绝对是我们学校最年轻的一位老师,和我们班的同学差不多大,人如其名,阳光洒脱,声音却非常有磁性,如果是女生,可以很快就被他的声音迷住了。Lucene,全文搜索引擎,我一遍又一遍的也在搜索,总结今天所学的知识点:

1.使用Lucene就是要实现站内搜索,常用的方式就是从数据库中根据输入内容进行搜索,但是这样的速度是非常的慢的。但是通过Lucene就可以从索引库中快速的检索相关的,最主要的就是符合用户要求的数据。

2.我们的工作就是作用操作Lucene 提供的API操作索引库中的数据,以及维护其中的数据。

索引库管理,使用IndexWriter。用他可以在索引库中增加、删除、更新索引数据,对应的方法为:addDocument()deleteDocuments()updateDocument()。也可以进行索引库的一些其他有关的修改与优化的操作

在索引库中搜索,使用IndexSearcher。对应的方法为search()

概念:

1.Directory 索引库。所有的数据也是以文件的形式存在索引库中,其实索引库也就是一个文件夹,其中储了许许多多的数据。我们不用直接去改文件中的数据,是通过和依赖于Lucene提供的API,就像我们使用SQL语句去操作数据库一样。

创建语句:Directory d = FSDirectory.open(new File("./"));

2.Analyzer(分析)

(分析器),我对分析器的理解不是很好。在创建、修改、删除、查询时都要用到,特别是在一个项目中,你采用什么样的分析进行添加Document就要采用同样的分析器进行其它的操作。引用一段一牛人的话:analyzer主要包含分词器跟过滤器,他的功能就是:将分词器跟分析器进行合理的组合,使之产生对文本分词和过滤效果。因此,分析器使用分词和过滤器构成一个管道,文本在“滤过”这个管道之后,就成为可以进入索引的最小单位。

3.Document

 Lucene在存储数据时,不能直接储对象,而是需要将我们在JAVA中的对象转换成DOCUMENT的对象,然后再进行存储。相互转换的代码如下:
  Document document = new Document();
  document.add(new Field("id",article.getId().toString(),Store.YES,Index.NOT_ANALYZED));
  Article article = new Article()

Index.NOT_ANALYZED 该字符不进行拆分

以下代码是从Document对象中的值取出来封装到JAVA对象中
  Integer id = Integer.parseInt(document.get("id"));
  article.setId(id);

4.IndexWriter

5.QueryParse

6.Query

7.TopDocs

8.ScoreDoc

9.IndexSeacher

看到网上的牛人写的关于LUCENE的博客,体会到自己现在掌握的知识仅仅只是会使用来做一些简单的操作,距离深入理解还差得太远。但是对于今天一天的学习效果,自我感觉还是不错。

原创粉丝点击