传智播客java学习 lucene初步
因为即将要学习lucene,所以我提前预习了lucene的相关知识,
1,lucene是众多搜索引擎中的一个,就像持久层除了Hibernate外也有很多其它框架
一样。Lucene是一个开发工具包,我们可以使用他为应用程序添加全文检索的功能。
2,目前已经有很多应用程序的搜索功能是基于 Lucene 的,比如 Eclipse 的帮助系
统的搜索功能。 还有其他很多的网站的应用程序使用了Lucene。
3,Lucene 能够为文本类型的数据建立索引,所以你只要能把你要索引的数据格式转
化的文本的,Lucene 就能对你的文档进行索引和搜索。
使用步骤:
1,准备环境:添加jar包
lucene-core-2.4.0.jar(核心);
lucene-analyzers-2.4.0.jar(分词器);
lucene-highlighter-2.4.0.jar(高亮器);
a) 建立索引.
b) 进行搜索.
2,构造IndexWriter。IndexWriter是Lucene用来创建索引的一个核心的类。使用
构造方法IndexWriter(Directory d, Analyzer a, MaxFieldLength mfl); 如果
索引不存在,就会被创建。
Directory,代表了 Lucene 的索引的存储的位置。这是一个抽象类,常用的有两
个实现,第一个是 FSDirectory,它表示一个存储在文件系统中的索引位置。第
二个是 RAMDirectory,它表示一个存储在内存当中的索引位置。
Analyzer,在一个文档被索引之前,首先需要对文档内容进行分词处理,这部分
工作就是由 Analyzer 来做的。Analyzer 类是一个抽象类,它有多个实现。针对
不同的语言和应用需要选择适合的 Analyzer。Analyzer 把分词后的内容交给
IndexWriter 来建立索引。
MaxFieldLength,用于限制Field的大小。这个变量可以让用户有计划地对大文档
Field进行截取。假如取值为10000,就只索引每个Field的前10000个Term(关键
字)。也就是说每个Field中只有前10000个Term(关键字)建立索引,除此之外
的部分都不会被Lucene索引,当然也不能被搜索到。
3,创建索引,使用方法IndexWriter.addDocument(Document doc)。
Document,是用来描述Lucene文档结构的。任何需要进行索引的数据都必须转化
成Document对象。Document是索引和搜索的最基本单元,是一组Field的集合。
Field,组成Document的元素,用来描述一个文档的某个属性的,比如一封电子邮
件的标题和内容可以用两个Field对象分别描述。Field是由name和value组成的,
value只接受字符串(非字符串类型要先转换成字符串才行)。在构造Field时还
要指定
相关文档:
译者注 :你可能会觉得Java很简单,Object的equals实现也会非常简单,但是事实并不是你想象的这样,耐心的读完本文,你会发现你对Java了解的是如此的少。如果这篇文章是一份Java程序员的入职笔试,那么不知道有多少人会掉落到这样的陷阱中。原文转自http://www.artima.com/lejava/articles/equality.html 三位作者都是不同领 ......
在命令行界面用native2ascii工具
1.将汉字转为Unicode:
C:\Program Files\Java\jdk1.5.0_04\bin>native2ascii
测试
\u6d4b\u8bd5
2.将Unicode转换为汉字:
C:\Program Files\Java\jdk1.5.0_04\bin>native2ascii -reverse ......
1、 public class HelloWorld {
public static void main(String args[]){
String s="daxiong";
System.out.println("Hello,World!"+"lu shenglong"+s);
char c[]={'s','w','q'};
&nb ......
这是clone技术介绍的第一篇。本篇主要介绍对象clone技术的基本知识。
Clone基本知识储备
在Java里提到clone技术,就不能不提java.lang.Cloneable接口和含有clone方法的Object类。所有具有clone功能的类都有一个特性,那就是它直接或间接地实现了Cloneable接口。否则,我们在尝试调用clone()方法时,将会触发CloneNo ......