`
luckaway
  • 浏览: 137911 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

lucene2.4.1的TokenStream

阅读更多
import java.io.IOException;

import org.apache.lucene.analysis.Token;
import org.apache.lucene.index.Payload;

/**
 * TokenStream用来分析文字流,按一定的规则罗列token,在lucene有字节流是即将要索引的文本,或者查询的关键字。
 * <p>
 * 它是一个抽象类,它的子类有如下两种:
 * <ul>
 * <li>分词器-Tokenizer,Tokenizer是以Reader对象做为输入;
 * <li>过滤器-TokenFilter,主要用来处理词汇单元的部分内容过滤功能。与分词器比较最大的区别是它的输入是另一个TokenStream.多个过滤器可以串接起来,形成管道型的流逝过滤器
 * </ul>
 * NOTE:子类必须要重写next(Token).
 */

public abstract class TokenStream {

	/**
	 * 返回字节流的下一个Token.
	 * 
	 * @deprecated 被next(Token)所代替 .
	 */
	public Token next() throws IOException {
		final Token reusableToken = new Token();
		Token nextToken = next(reusableToken);

		if (nextToken != null) {
			Payload p = nextToken.getPayload();
			if (p != null) {
				nextToken.setPayload((Payload) p.clone());
			}
		}

		return nextToken;
	}

	/**
	 * 返回数据流中的下个Token或null、EOS. 通常情况下,为了有着更好的性能,返回的Token和输入的Token应该是同一个对象
	 * 但是这不是必须,也可以返回一个新的Token. .
	 * <p>
	 * 调用该方法的对象和实现该方法的对象有一种合约:
	 * <ul>
	 * <li>调用该方法的对象必须在再次调用该方法之前要使用完毕之前的Token.</li>
	 * <li>实现该方法的在每次设置之前都要先调用clear()。把之前的属性的清空</li>
	 * </ul>
	 * 当Token被返回之后,调用者可以随意改变该Token。所以producer如果想保存Token,必须要在返回Token之前Clone()克隆一个新的Token
	 * 
	 * @param reusableToken 该Token或许被返回,或许返回一个新的Token。reusableToken不能为null。
	 * @return
	 */
	public Token next(final Token reusableToken) throws IOException {
		assert reusableToken != null;
		return next();
	}

	/**
	 * 重置数据流的标记位置.这个方法这是可选的。 Reset()通常情况下不需要的.如果
	 * 但是如果Token要被使用多次,那就有重写实现reset()接口 .
	 * 如果TokenStream缓存了Token,调用rest()会返回缓存的Token
	 */
	public void reset() throws IOException {
	}

	public void close() throws IOException {
	}
}
分享到:
评论
2 楼 luckaway 2010-01-28  
谢谢指导,我写文档能力很差的
1 楼 naughty610 2010-01-28  
技术文档要写明所使用的版本。。。。

相关推荐

    lucene 2.4.1源码在eclipse调试运行通过

    《深入剖析Lucene 2.4.1:在Eclipse中的源码调试与运行》 Lucene是一款由Apache软件基金会开发的全文检索库,它提供了高性能、可扩展的信息检索服务。2.4.1版本是Lucene的一个重要里程碑,本文将详细讲解如何在...

    工具包Lucene2.4.1

    在此次提供的"工具包Lucene2.4.1"中,我们聚焦于这个相对较新的版本(相对于发布时)的特性、功能和使用方法。 **一、Lucene简介** Lucene的核心功能是实现文本的索引和搜索,它提供了一个高级的、灵活的、可扩展的...

    lucene2.4.1 api文档

    很好的lucene2.4.1 api文档 我经常用来查的,凑到20字没

    Lucene2.4.1

    《深入剖析Lucene 2.4.1:核心与示例》 Lucene是一个高性能、全文检索库,它由Apache软件基金会开发并维护。作为Java编写的一个开源项目,Lucene为构建复杂的搜索功能提供了强大的工具集。本次我们将深入探讨Lucene...

    一个很好的lucene帮助文档,需要的朋友可以来下载-Lucene2.4.1 叶明

    《Lucene2.4.1 叶明》这本帮助文档可能是针对 Lucene 2.4.1 版本的一份详尽指南,可能包含了以下内容: 1. **安装与配置**:如何下载、安装和配置 Lucene 2.4.1,以及与现有项目的集成方法。 2. **基本用法**:...

    lucene 2.4.1 暂时最新的 包

    lucene 2.4.1包 暂时最新的 希望对大家有帮助

    lucene2.4.1 API手册

    **Lucene 2.4.1 API 手册** Lucene 是一个开源的全文检索库,由 Apache 软件基金会开发。它提供了一个高级、灵活的搜索功能框架,允许开发者轻松地在应用程序中实现复杂的全文检索功能。Lucene 2.4.1 版本是该库的...

    luke for lucene 2.4.1

    总之,"luke for lucene 2.4.1"是Lucene开发和维护者的得力助手,通过其丰富的功能和直观的界面,我们可以更好地理解和优化基于Lucene的搜索引擎。无论你是新手还是经验丰富的开发者,掌握Luke都将极大地提升你在...

    lucene2.4.1 源码

    《深入剖析Lucene 2.4.1源码:揭示开源搜索引擎的秘密》 Apache Lucene是一个高度可扩展的全文搜索引擎库,它为开发者提供了构建自己的搜索引擎应用的基础。在这个专题中,我们将深入探讨Lucene 2.4.1版本的源码,...

    lucene2.4.1

    《深入理解Lucene 2.4.1:全文搜索引擎的核心技术》 Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发并维护。作为Java编写的一个开源项目,Lucene为开发者提供了强大的文本检索功能,使得开发全文搜索...

    lucene2.4.1最新版本的核心包

    希望对大家有所帮助! lucene最新版本的核心包和demo包,下次传怎么去测试!

    lucene-2.4.1搜索框架

    《Lucene 2.4.1搜索框架:深入学习与应用》 Lucene是一个高性能、全文本搜索引擎库,由Apache软件基金会开发并维护。在2.4.1这个版本中,它提供了强大的文本检索功能,被广泛应用于各种信息检索系统,如网站搜索、...

    lucene-2.4.1.tar.gz

    《深入理解Apache Lucene 2.4.1:搜索引擎核心技术剖析》 Apache Lucene是一个开源全文检索库,由Java编写,提供了高性能、可扩展的信息检索服务。标题中的"lucene-2.4.1.tar.gz"表明我们正在讨论的是Lucene的2.4.1...

    lucene src&bin 2.4.1

    《Apache Lucene 2.4.1:源码与二进制版本详解》 Apache Lucene,一个由Apache软件基金会开发的开源全文搜索引擎库,以其高效、可扩展性及灵活性在IT领域广受赞誉。本资源包含Lucene的2.4.1版本,包括源码(src)和...

    struts2-spring-compass:Struts2整合Spring3、Hibernate、Compass实现全文检索(基于lucene2.4.1和极易中文分词器)

    这个项目基于Lucene 2.4.1,一个强大的全文搜索引擎库,并且集成了极易中文分词器,以支持中文文档的高效检索。 首先,让我们详细了解一下这四个关键组件: 1. **Struts2**:这是一个基于MVC(Model-View-...

    je-analysis-1.5.3、lucene-core-2.4.1分词组件

    本文将深入探讨"je-analysis-1.5.3"和"lucene-core-2.4.1"这两个分词组件,以及它们在相关场景中的应用。 首先,让我们了解什么是分词。分词,即词语切分,是自然语言处理(NLP)中的基本任务之一,它的目标是将...

    lucene-2.4.1-src.tar.gz

    Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。 Lucene的作者:Lucene的贡献者Doug Cutting是一位资深全文索引/检索...

    MMAnalyzer 分词jar包(lucene-core-2.4.1.jar je-analysis-1.5.3.jar)

    "lucene-core-2.4.1.jar"是Lucene的核心库,包含了Lucene的基本功能,如索引构建、查询解析、搜索等功能。虽然2.4.1版本相对较老,但在当时,它已经相当成熟,能够支持各种复杂的文本处理任务。这个库是MMAnalyzer...

Global site tag (gtag.js) - Google Analytics