- 浏览: 85473 次
- 来自: 济南
最新评论
-
lib:
速度很快啊!下手很早啊。
在Raspberry Pi上安装Nodejs环境 -
qalong:
如此好文,哪能不顶
Canvas入门实例08:三次方贝塞尔曲线 -
johnnycmj:
膜拜啊....
简单模拟Google的大马跑啊跑的Doodle -
BuN_Ny:
zeng1990 写道BuN_Ny 写道feizhang666 ...
17) 第二章 索引:优化索引(Optimizing) -
zeng1990:
BuN_Ny 写道feizhang666 写道现在已经是luc ...
17) 第二章 索引:优化索引(Optimizing)
文章列表
Lucene索引的API非常简单,然而在其简易的API背后,它做了许多有趣的、相对复杂的操作。我们可以明确得将这些操作分为三条:抽取文本(extract text);分析(analysis);索引(index)。
1. 抽取文本并创建文档(document)
在用Lucene索引数据之前,必须先将其抽取为纯文本。第一章的例子中我们索引了扩展名为 .txt 的文件,它们很容易被索引。然而事情并非总是如此简单,如果我们要索引的数据来自PDF文件,或者是XML,又或是Microsoft Word文档,那么,我们必须先从中抽取出纯文本才能够用Lucene对其进行索引 ...
1. 文档(Document)和域(Field)
Document是Lucene索引和搜索的最小单元。然而实际上它只是一个或多个Field的容器,Field中保存着真正的内容。
Field由三部分组成:名称(作为域的唯一标识); 值(文本或二进制值); 选项(针对该域的一些细节描述)
2. Field的高级设置
1) 值可以被索引或不索引。被索引的域才能被搜索到。只有文本域才能被索引,二进制值域只能被存储(store)
2) 被索引的域可以增加检索词向量(term vectors)
3) 值可以被存储
3. Lucene与数 ...
1. IndexSearcher
IndexSearcher用来搜索由IndexWriter索引的内容:它是与索引文件之间的重要通道,并提供了一些搜索方法。你可以把IndexSearcher理解成这样一个类:它以"只读"方式打开索引文件。它提供了大量搜索方法,其中一些方法继承自其抽象父类Searcher. 其典型用法如下:
IndexSearcher searcher = new IndexSearcher("/tmp/index");
Query q = new TermQuery(new Term("contents ...
1. IndexWriter
IndexWriter是索引过程的核心组件。这个类用于创建新的索引文件或者打开一个已经存在的索引文件,之后,它负责增加、删除、更新对应文件中的document. 你可以把它理解成这样一个对象:它提供对索引文件的"写"操作,然而你不能通过它进行"读"和"搜索"操作。IndexWriter需要一个空间以存储索引文件,这正是Directory的作用。
2. Directory
Directory类表示Lucene索引文件的位置。这是一个抽象类,它允许其子类按照适合的方式存储 ...
还是看代码来的直接:
1. 索引
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter; ...
1. 为什么需要搜索
为什么需要高效的、准确的搜索? 你说呢?
2. 怎么样快速搜索
这个道理很简单。为什么你从《现代汉语词典》中找一个词相当快速,而从一本小说中找起来费劲?
词典是按一定顺序编排过的。那么,如果我给小说的每个词都编个目录来说明在哪些页码能找到它们呢?
好吧,编排目录需要花点时间对吗?但是一次性编排完了,以后找起来就会很方便而且不用每次查找都再编排目录了。
3. Lucene的结构
其实,Lucene只做两件事:索引、搜索
索引,就是编目录的过程。它的本质目的就是把杂乱无章的原始数据(可能来自word,txt,网页,pdf ...
1. Lucene是什么
Lucene是一个高性能、可扩展的IR(Information Retrieval)库。
注意:它并非一个完整的web搜索引擎。
2. Lucene能做什么
为你的应用增加全文检索能力。(索引 --> 搜索)
3. Lucene的历史
具体Lucene的发展史网上很多介绍。
作者是Doug Cutting, 这孩子在Excite, Apple, Grand Central和Yahoo等公司干过,相当牛逼!
当然除了作者,还有很多大牛为Lucene作出了贡献(我也是写博客宣传Lucene的一头奶牛)
...
* 语言特性 *
---------------------------------------------------------------------------
1.引用
引用指向的只能是具体的对象,而不是另一个引用
注意: 一些对象修改会生成新对象,如字符串拼接
2.重载
重载依赖: A.判断传入参数数量; B.判断传入参数类型
伪数组: argument
3.类型检查
1) 方式一: 使用 typeof 操作符
if(typeof num == 'string') ...
2) 方式二: 构造函数
if(num. ...