![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
lucene
文章平均质量分 63
wenhuan1224
这个作者很懒,什么都没留下…
展开
-
Lucene学习(1)
Lucene-2.3.1 源代码阅读学习 源码下载地址:http://lucene.apache.org [code="java"] package org.apache.lucene.demo; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.i...原创 2009-10-29 15:55:53 · 56 阅读 · 0 评论 -
Lucene学习(14)
RAMDirectory类是与内存目录相关的,它和FSDirectory有很大地不同,这主要从它的构造函数来看: [code="java"] public RAMDirectory() { setLockFactory(new SingleInstanceLockFactory()); } [/code] 初始化的时候,指定的是LockFactory抽象类的一个具体...原创 2009-10-30 10:23:22 · 67 阅读 · 0 评论 -
Lucene学习(15)
关于索引删除的策略IndexDeletionPolicy 。 [code="java"] public IndexWriter(Directory d, Analyzer a, boolean create) throws CorruptIndexException, LockObtainFailedException, IOException { init(d...原创 2009-10-30 10:28:49 · 73 阅读 · 0 评论 -
Lucene学习(2)
IndexWriter是一个非常重要的工具。建立索引必须从它开始。而且,从它的构造函数开始。 Document和Field是Lucene中两个最重要的概念。在建立索引的时候,也就是实例化一个索引器IndexWriter的之前,必须通过已经建立好的Document逻辑文件,将Document的对象添加到IndexWriter实例中,才能算是建立索引。 Document汇集数据源,...原创 2009-10-29 15:59:19 · 63 阅读 · 0 评论 -
Lucene学习(4)
建立索引,通过已经生成的索引文件,实现通过关键字检索。 写了一个类MySearchEngine,根据上述思想实现,把Lucene自带的递归建立索引的方法提取出来,加了一个搜索的方法: [code="java"] package org.shirdrn.lucene; import java.io.File; import java.io.FileNotFoundExcepti...原创 2009-10-29 16:09:27 · 65 阅读 · 0 评论 -
Lucene学习(5)
研究Lucene分析器的实现。 Analyzer抽象类 所有的分析器的实现,都是继承自抽象类Analyzer,它的源代码如下所示: [code="java"] package org.apache.lucene.analysis; import java.io.Reader; public abstract class Analyzer { // ...原创 2009-10-29 16:13:49 · 67 阅读 · 0 评论 -
Lucene学习(6)
Lucene分析器的实现。 Lucene分词器Tokenizer,它的继承子类的实现。 Tokenizer类的继承关系 ChineseTokenizer类实现中文分词 中文分词在Lucene中的处理很简单,就是单个字分。它的实现类为ChineseTokenizer,在包org.apache.lucene.analysis.cn中,源代码如下: [code="java"] p...原创 2009-10-29 16:16:20 · 59 阅读 · 0 评论 -
Lucene学习(7)
CharTokenizer是一个抽象类,它主要是对西文字符进行分词处理的。常见的英文中,是以空格、标点为分隔符号的,在分词的时候,就是以这些分隔符作为分词的间隔符的。 [code="java"] package org.apache.lucene.analysis; import java.io.IOException; import java.io.Reader; // Cha...原创 2009-10-30 09:22:35 · 70 阅读 · 0 评论 -
Lucene学习(9)
Lucene的StandardAnalyzer分析器。 不同的Lucene分析器Analyzer,它对TokenStream进行分词的方法是不同的,这需要根据具体的语言来选择。比如英文,一般是通过空格来分割词条,而中文汉字则不能通过这种方式,最简单的方式就是单个汉字作为一个词条。 TokenStream是通过从设备或者其他地方获取数据源而构造的一个流,我们要执行分词的动作,应该...原创 2009-10-30 09:34:59 · 62 阅读 · 0 评论 -
Lucene学习(10)
Lucene的CJKAnalyzer分析器。 CJKAnalyzer分析器的思想: 对中文汉字,每两个字作为一个词条,例如A,B,C,D是四个中文汉字,使用CJKAnalyzer分析器分词后一共得到三个词条如下: AB,BC,CD。 其实,CJKAnalyzer分析器在对中文分词方面比StandardAnalyzer分析器要好一点。因为根据中文的习惯,包括搜索的时候键入关键字的习惯...原创 2009-10-30 10:02:15 · 53 阅读 · 0 评论 -
Lucene学习(11)
对数据源进行分析,是为建立索引服务的;为指定的文件建立索引,是为检索服务的。 对数据源分析,使用Lucene的分析器(Analyzer),根据分析器所得到的词条,构造一个索引器IndexWriter。索引器IndexWriter的功能主要就是创建索引,是建立索引工作中最核心的。 当构造完一个索引器IndexWriter之后,就可以向其中添加Document了。 在前面...原创 2009-10-30 10:06:54 · 58 阅读 · 0 评论