专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » lucene更新索引:Lucene建立索引和使用索引搜索的几个概念 »正文

lucene更新索引:Lucene建立索引和使用索引搜索的几个概念

来源: 发布时间:星期四, 2009年1月15日 浏览:23次 评论:0
  建立索引

  索引建立Lucene 提供了 5个基础类分别是 Document, Field, IndexWriter, Analyzer, Directory以下是他们用途:

  Document

  Document 字面意思是文档这里文档可以是个 HTML,封电子邮件文本文件doc文档.......个 Document 对象由多个 Field 组成可以把个 Document 对象想象成数据库中个记录而每个 Field 对象就是记录个字段

  Field

  Field 对象是用来描述个文档某个属性比如封电子邮件标题和内容可以用两个 Field 对象分别描述

  Analyzer

  在个文档被索引的前首先需要对文档内容进行分词处理这部分工作就是由 Analyzer 来做Analyzer 类是个抽象类它有多个实现针对区别语言和应用需要选择适合 AnalyzerAnalyzer 把分词后内容交给 IndexWriter 来建立索引

  IndexWriter

  IndexWriter 是 Lucene 用来创建索引个核心作用是把个个 Document 对象加到索引中来

  Directory

  这个类代表了 Lucene 索引存储位置这是个抽象类它目前有两个实现个是 FSDirectory它表示个存储在文件系统中索引位置第 2个是 RAMDirectory它表示个存储在内存当中索引位置

  搜索文档

  利用Lucene进行搜索就像建立索引样也是非常方便在上面部分中我们已经为个目录下文本文档建立好了索引现在我们就要在这个索引 上进行搜索以找到包含某个关键词或短语文档Lucene提供了几个基础类来完成这个过程它们分别是呢IndexSearcher, Term, Query, TermQuery, Hits. 下面我们分别介绍这几个类功能

  Query

  这是个抽象类他有多个实现比如TermQuery, BooleanQuery, PrefixQuery. 这个类是把用户输入查询串封装成Lucene能够识别Query

  Term

  Term是搜索基本单位个Term对象有两个String类型域组成生成个Term对象可以有如下条语句来完成:Term term = Term(“fieldName”,”queryWord”); 其中第个参数代表了要在文档个Field上进行查找第 2个参数代表了要查询关键词

  TermQuery

  TermQuery是抽象类Query个子类它同时也是Lucene支持最为基本个查询类生成个TermQuery对象由如下语句 完成: TermQuery termQuery = TermQuery( Term(“fieldName”,”queryWord”)); 它构造只接受个参数那就是个Term对象

  IndexSearcher

  IndexSearcher是用来在建立好索引上进行搜索它只能以只读方式打开个索引所以可以有多个IndexSearcher例子在个索引上进行操作

  Hits

  Hits是用来保存搜索结果

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: