`
文章列表
Lucene的StandardAnalyzer分析器。 不同的Lucene分析器Analyzer,它对TokenStream进行分词的方法是不同的,这需要根据具体的语言来选择。比如英文,一般是通过空格来分割词条,而中文汉字则不能通过这种方式,最简单的方式就是单个汉字作为一个词条。 TokenStream是通过从设备或者其他地方获取数据源而构造的一个流,我们要执行分词的动作,应该对这个TokenStream进行操作。 TokenStream也可以不是直接通过数据源构造的流,可以是经过分词操作之后读入TokenFilter的一个分词流。 从本地磁盘的文件读取文本内容,假定在文本文件shi ...
Lucene分析器的实现。 Lucene(分词)过滤器TokenFilter类,以及继承它的子类的实现类。 TokenFilter类的继承关系,如图所示: TokenFilter是一个抽象类,定义了对一个经过分词(Tokenizer)后的TokenStream进行过滤的功能,它的源代码如下所示: package org.apache.lucene.analysis; import java.io.IOException; public abstract class TokenFilter extends TokenStream {// 通过输入一个TokenStrea ...
CharTokenizer是一个抽象类,它主要是对西文字符进行分词处理的。常见的英文中,是以空格、标点为分隔符号的,在分词的时候,就是以这些分隔符作为分词的间隔符的。 package org.apache.lucene.analysis; import java.io.IOException;import java.io.Reader; // CharTokenizer 是一个抽象类public abstract class CharTokenizer extends Tokenizer {public CharTokenizer(Reader input) {    super(in ...
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 cl ...
研究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.StandardAnalyzer;import o ...
org.apache.lucene.demo.IndexFiles类中,使用递归的方式去索引文件。在构造了一个IndexWriter索引器之后,就可以向索引器中添加Doucument了,执行真正地建立索引的过程。遍历每个目录,因为每个目录中可能还存在目录,进行深度遍历,采用递归技术找到处于叶节点处的文件(普通的具有扩展名的文件,比如my.txt文件),然后调用如下代码中: static void indexDocs(IndexWriter writer, File file)    throws IOException {    // file可以读取    if (file.canRead( ...
IndexWriter是一个非常重要的工具。建立索引必须从它开始。而且,从它的构造函数开始。 Document和Field是Lucene中两个最重要的概念。在建立索引的时候,也就是实例化一个索引器IndexWriter的之前,必须通过已经建立好的Document逻辑文件,将Document的对象添加到IndexWriter实例中,才能算是建立索引。 Document汇集数据源,这个数据源是通过Field来构造的。(1)构造好Field之后,(2)将每个Field对象加入到Document之中,可以(3)通过Document来管理Field,然后(4)将聚集的Document加入到Inde ...
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 java.util.Date; //为指定目录下的所有文件建立索引public class IndexFiles {private Index ...
下载 下载链接:http://apache.mirror.phpchina.com/lucene/java/ 以选择lucene-2.0.0.zip下载为例。   安装 1、在本地磁盘解压缩lucene-2.0.0.zip文件; 2、将lucene-demos-2.0.0.jar和lucene-core-2.0.0.jar拷贝到JDK目录的lib目录下,例如: D:\Program Files\Java\jdk1.5.0_05\lib
传说中,程序员们喜欢用powerDesign进行数据库建模。通常都是先设计出物理模型图,在转换出数据库需要的SQL语句,从而生成数据库。但,江湖中流传着“powerDesign逆向工程”的传说。好,我们今天就来利用PowerDesign来建立逆向工程。 基于MySql 5.0 的数据库,PowerDesigner12.主要分为这几个步骤。 1> 通过windows数据源管理,建立ODBC数据源。 首先,安装ODBC的补丁。 这里是mySql 3.5.1 和 mySql5.1.5的补丁文件。使用他们进行安装。 打开Windows的控制面板 打开管理工具 打开数 ...
当Flex项目构建完成后,需要重本地的服务器,构建到专门的服务器。serverRootURL是需要更改的。 例如:在开发的时候,使用的serverRootURL是http://localhost:8400/blazeds/ 部署后的serverRootURL是 www.myProject.com..则需要更改配置。 更改步骤如下: 打开 flex项目目录的 .flexProperties 文件,修改 <flexProperties
一则令人深思的故事,与您共勉! 转自http://zhouwenjun.iteye.com/blog/385312的博客    在一个青黄不接的初夏,一只在农家仓库里觅食的老鼠意外地掉进一个盛得半满的米缸里。这意外使老鼠喜出望外,它先是警惕地环顾了顾了一下四周,确定没有危险之后,接下来便是一通猛吃,吃完倒头便睡。     老鼠就这样在米缸里吃了睡、睡了吃。日子在衣食无忧的休闲中过去了。有时,老鼠也曾为是否要跳出米缸进行过思想斗争与痛苦抉择,但终究未能摆脱白花花大米的诱惑。直到有一天它发现米缸见了底,才觉得以米缸现在的高度,自己就是想跳出去,也无能为力了。     对于老鼠而言,这半缸米就是一块试 ...
从前有个古老的传说。传说有一天,你打开windows 的 IIS 报错。报错如图:     那,为什么会报这个错了?你打开了FILIX的博客。发现。原来是这个东西在捣鬼!如图所示:   那,这应该怎么办呢?卸载 Windows XP安全更新(KB939373),之后,你就可以正常启动IIS了。 下载推荐 IIS 5.1 安装程序--下载不扣分,童叟无欺 http://download.csdn.net/source/1124774
前提:文章基于lucene2.2。 目前最新版本的lucene自身提供的StandardAnalyzer已经具备中文分词的功能,但是不一定能够满足大多数应用的需要。 另外网友谈的比较多的中文分词器还有: CJKAnalyzer ChineseAnalyzer IK_CAnalyzer(MIK_CAnalyzer) 还有一些热心网友自己写的比较不错的分词器在此就不说了,有兴趣的可以自己研究研究。 以上三个中文分词器并不是lucene2.2.jar里提供的。 CJKAnalyzer和ChineseAnalyzer分别是lucene-2.2.0目录下contrib目录下analyzers的lucene ...
Global site tag (gtag.js) - Google Analytics