`
BuN_Ny
  • 浏览: 85473 次
  • 来自: 济南
社区版块
存档分类
最新评论
文章列表
      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. ...
Global site tag (gtag.js) - Google Analytics