易截截图软件、单文件、免安装、纯绿色、仅160KB

java 分析器解析 深未来技术


1、语汇单元的组成:
1)经过分析产生的基本单元。在索引时,Lucene使用特定的分析器来处理需要被语汇单元化的指定域,并将每个语汇单元以项的形式写入索引。
2)起点偏移量是指语汇单元文本的起始字符在原广西中的位置,而终点的偏移量则表示语汇单元终止字符的下一个位置。
3)文本被语汇单元化后,相对于前一语汇单元的位置信息被保存为位置增量值。所有的内置语汇单元将位置增量的默认值设置为1,表示所有语汇单元是连续的,位置上是一个紧接一个的。
2、语汇单元转换为项
1)当文本在索引过程中经过分析后,每个语汇单元做为一个项被传递给索引。
2)位置增量是语汇单元携带到索引中的惟一的附加元数据。
3)起点和终点偏移量和语汇单元类型都被抛弃了-这些元数据仅在分析过程中使用。
4)位置增量使得当前语汇单元和前一个语汇单元 联系起来。位置增量为1,表示每个单词存于域中唯一且连接的位置。
5)位置增量大于1,允许单词之间有空隙。比如说这些空隙上的被分析器删除
6)位置增量为0的语汇单元,会将该语汇单元放置在前一个语汇单元的位置上。通常用于表示单词的同义词。
3、TokenStream(基类包括next()和close()方法 )
1)2个不同的子类
A)Tokenizer:将Reader对象中的数据切分为语汇单元。将String对象包装在StringReader中,进行语汇单元的切分。处理单个字符。
具体又有以下子类:
a)CharTokenizer:其他基于字符的Tokenizer类的父类,包含抽象方法isTokenChar()。当isTokenChar()==true时,输出连续的语汇单元块。该类能对字符规格化处理。Token对象限制的最大字符个数为255个
b)WhitespaceTokenizer:isTokenChar()值为true时的CharTokenizer子类,用于处理所有非空格的字符
c)LetterTokenizer:isTokenChar()值为true并且Character.isLetter()值为true时的CharTokenizer类
d)LowCaseTokenizer:将所有字符小写化的LetterTokenizer
e)StandardTokenier:复杂的基于语法的语汇单元切分器,用于输出高级类型的语汇单元,如E-MAIL地址等。每个输出的语汇单元标记为一个特殊类型,这些类型中的一部分需要使用StandardFilter类特殊处理。
B)TokenFilter:允许你将多个TokenStream对象连接在一起。一个TokenStream对象被传递给TokenFilter时,由TokenFilter对其进行增加、删除和更改等,用于处理单词。
a)LowerCaseFilter:将语汇单元文本转换为小写形式
b)StopFilter:移除指定集合中的信用词
c)PorterStemFilter


相关文档:

解析Java类和对象的初始化过程

类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......

java的回调技术浅谈

我们经常会用System.currentTimeMillis()在事件开始前和结束后设置一个开始时间和结束时间,用他们的差作为程序执行的时间。
我们不妨定义一个接口用java回调来实现动态计算。
接口定义:
package com.hd123.h5.ejb.verctrl;
public interface CallBack {
  public void callBack();
}
然后是实现这个接口
pac ......

Proxy模式以及java动态代理实现

一. Proxy模式定义:
为其他对象提供一种代理以控制这个对象的访问.
二.模式解说
Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上.
在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),
......

JAVA 网上拾遗

public String makeStars(int size, char ch) {
    if(size < 1) {
        throw new IllegalArgumentException("size must be greater than 0");
    }
    char[] chs = new char[size];
    for(int i = 0; ......

JAVA里面关键字“transient”是什么用的呢?

java有个特点就是序列化,简单地来说就是可以将这个类存储在物理空间(当然还是以文件的形式存在),那么当你从本地还原这个文件时,你可以将它转换为它本身。这可以极大地方便网络上的一些操作,但同时,因为涉及到安全问题,所以并不希望把类里面所有的东西都能存储(因为那样,别人可以通过序列化知道类里面的内容),那 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号