`
twh1224
  • 浏览: 95548 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
文章列表
对数据源进行分析,是为建立索引服务的;为指定的文件建立索引,是为检索服务的。 对数据源分析,使用Lucene的分析器(Analyzer),根据分析器所得到的词条,构造一个索引器IndexWriter。索引器IndexWriter的功能主要就是创建索引,是建立索引工作中最核心的。 当构造完一个索引器IndexWriter之后,就可以向其中添加Document了。 在前面Lucene-2.2.0 源代码阅读学习(1)中,根据Lucene提供的一个Demo,详细分析研究一下索引器org.apache.lucene.index.IndexWriter类,看看它是如果定义的,掌握它建立索 ...
Lucene的CJKAnalyzer分析器。 CJKAnalyzer分析器的思想: 对中文汉字,每两个字作为一个词条,例如A,B,C,D是四个中文汉字,使用CJKAnalyzer分析器分词后一共得到三个词条如下: AB,BC,CD。 其实,CJKAnalyzer分析器在对中文分词方面比StandardAnalyzer分析器要好一点。因为根据中文的习惯,包括搜索的时候键入关键字的习惯,中文的词(大于一个汉字)比单个汉字的频率应该高一些。 但是,在设置相同的过滤词条文本以后,CJKAnalyzer分析器的缺点就是产生了冗余会比较大,相对于StandardAnalyzer分析器来说。使用 ...
Lucene的StandardAnalyzer分析器。 不同的Lucene分析器Analyzer,它对TokenStream进行分词的方法是不同的,这需要根据具体的语言来选择。比如英文,一般是通过空格来分割词条,而中文汉字则不能通过这种方式,最简单的方式就是单个汉字作为一个词条。 TokenStream是通过从设备或者其他地方获取数据源而构造的一个流,我们要执行分词的动作,应该对这个TokenStream进行操作。 TokenStream也可以不是直接通过数据源构造的流,可以是经过分词操作之后读入TokenFilter的一个分词流。 从本地磁盘的文件读取文本内容,假定在文 ...
Lucene分析器的实现。 Lucene(分词)过滤器TokenFilter类,以及继承它的子类的实现类。 TokenFilter是一个抽象类,定义了对一个经过分词(Tokenizer)后的TokenStream进行过滤的功能,它的源代码如下所示: package org.apache.lucene.analysis; import java.io.IOException; public abstract class TokenFilter extends TokenStream { // 通过输入一个TokenStream protected Tok ...
CharTokenizer是一个抽象类,它主要是对西文字符进行分词处理的。常见的英文中,是以空格、标点为分隔符号的,在分词的时候,就是以这些分隔符作为分词的间隔符的。 package org.apache.lucene.analysis; import java.io.IOException; import ...
Lucene分析器的实现。 Lucene分词器Tokenizer,它的继承子类的实现。 Tokenizer类的继承关系 ChineseTokenizer类实现中文分词 中文分词在Lucene中的处理很简单,就是单个字分。它的实现类为ChineseTokenizer,在包org.apache.lucene.analysis.cn中,源代码如下: package org.apache.lucene.analysis.cn; import java.io.Reader; import org.apache.lucene.analysis.*; public final clas ...
研究Lucene分析器的实现。 Analyzer抽象类 所有的分析器的实现,都是继承自抽象类Analyzer,它的源代码如下所示: package org.apache.lucene.analysis; import java.io.Reader; public abstract class Analyzer { // 通过Field的名称,和一个Reader对象,创建一个分词流,该方法是抽象方法 public abstract TokenStream tokenStream(String fieldName, Reader reader); ...
建立索引,通过已经生成的索引文件,实现通过关键字检索。 写了一个类MySearchEngine,根据上述思想实现,把Lucene自带的递归建立索引的方法提取出来,加了一个搜索的方法: package org.shirdrn.lucene; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Date; import org.apache.lucene.analysis.standard.StandardAnalyz ...
org.apache.lucene.demo.IndexFiles类中,使用递归的方式去索引文件。在构造了一个IndexWriter索引器之后,就可以向索引器中添加Doucument了,执行真正地建立索引的过程。遍历每个目录,因为每个目录中可能还存在目录,进行深度遍历, ...
IndexWriter是一个非常重要的工具。建立索引必须从它开始。而且,从它的构造函数开始。 Document和Field是Lucene中两个最重要的概念。在建立索引的时候,也就是实例化一个索引器IndexWriter的之前,必须通过已经建立好的Document逻辑文件,将Document的对象添加到IndexWriter实例中,才能算是建立索引。 Document汇集数据源,这个数据源是通过Field来构造的。构造好Field之后,将每个Field对象加入到Document之中,可以通过Document来管理Field,然后将聚集的Document加入到IndexWriter中,建 ...
Lucene-2.3.1 源代码阅读学习 源码下载地址:http://lucene.apache.org package org.apache.lucene.demo; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.index.IndexWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import ...
=========================Log4j日志管理系统简单使用说明====================== 通常,我们都提供一个名为 log4j.properties的文件,在第一次调用到Log4J时,Log4J会在类路径(../web-inf/class/当然也可以放到其它任何目录,只要该目录被包含到类路径中即可)中定位这个文件,并读入这个文件完成的配置。这个配置文件告 诉Log4J以什么样的格式、把什么样的信息、输出到什么地方。   Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局),这里可简单理解为日志类别 ...
官方网站: http://logging.apache.org/log4j/ 1.下载log4j包 下载版本1.2,1.3已经终止,2.0版本还在开发阶段。 2.导入log4j包 3.写log4j的配置文件(两种方式,.properties或者.xml) 例子:log4j.properties log4j.rootLogger = debug,appender1,appender2 //设置log4j的输出级别是debug,(常用的日志级别: debug < info < warn < error) ( ps:级别的设置是很有用的,在开发阶段可以将日志的级别设置为低级别d ...
hibernate3.jar : Hibernate的库,没有什么可说的,必须使用的jar包 cglib-2.1.3.jar : CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包 asm.jar : 和cglib-2.1.3.jar有点类似 dom4j.jar : dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM developerWo ...
1.问题:Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/DocumentException     at HibernateTest.main(HibernateTest.java:14) 方法:添加dom4j.jar(解析hibernate.cfg.xml文件) 2.问题:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFa ...
Global site tag (gtag.js) - Google Analytics