【推荐阅读:java 构造函数的执行过程】
【扩展信息:JDBC基础知识(1)】
一.lucene因为weblucene最基本的内核是lucene,所以一个关键性的理解是在lucene方面. 对于lucene全文检索,可以简约地看看它的7个主要类,这7个类同时也表达了处理全文检索的7个意念.因为数据库比较为人所熟悉,它又与全文检索某些理念极为相似,所以在对下面的概念说明时,将会大量在渗入数据库与全文检索间的类比. 1)document :它的中文意思是文档,对于一个文档,通常都包括它的标题.时间.作者.内容.如果让它的意思泛化,它也有文件的意思(相信lucene的作者在取这个类名的时候也是经过再三斟酌的),对于文件,它可以指一个txt文本.一个html网页.一个pdf文件等等.总而言之,它是映射着某一个具体的文件,这就是它的单位粒度.对应于数据库的概念是记录,英文是record,weblucene在索引源的xml中就原原本本地采用了这个概念,可参照<weblucene_home>/dump/blog.xml . 2)field :中文意思是字段.汉语的翻译将这个单词的意思表达得更恰如其分了,意思是文字片段,它可以是一个或多个字.字段是文档(document)的次粒度单位,也是检索的最基本单位.注意这个概念跟在搜索引擎的输入框中随意输入的那几个字或几组字不是一样的,在搜索输入框中输入的那些文字首先需要经过一个queryparser(这也是7个类中的一个)将其分解成真正的field. 在数据库中本来就有field 这个概念,它即是record的次级单位.在数据库一条或多条记录怎么被找出来的,往往就经由对field的检索而得来.在全文检索中document的最终取得也是差不多,它是根据现在的某个filed来决定的.即根据文档中的某些还不完整的东西牵引出它的所需的全部.示例代码:[com.chedong.weblucene.search.webluceneresultsettest]document doc = new document(); doc.add(field.keyword("keyword", "房地产")); doc.add(field.keyword("keyword", "非典")); 3)indexwriter :索引书写者 示例代码: [org.apache.lucene.index.testindexwriter] document doc = new document(); doc.add(field.unstored("content", "aaa")); ... 下一页