`
- 浏览:
792660 次
- 性别:
- 来自:
成都
-
Lucene
1、学习Lucene需要知道的概念:
全文探索:先建立索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)。
1.1基本知识概要:
索引创建:将现实世界中所有的结构化和非结构化数据提取信息,创建索引的过程。
搜索索引:就是得到用户的查询请求,搜索创建的索引,然后返回结果的过程。
反向所引:从字符串到文件的映射是文件到字符串映射的反向过程,于是保存这种信息的索引称为反向索引。
存在优势:全文搜索相对于顺序扫描的优势之一:一次索引,多次使用。
去掉停词:就是对探索无益的单词,他会消耗不必要的查询时间,去掉如"this","a","of"等。
term还原:就是将词的变化形式还原为词根,如去掉s等的操作,通过语言处理组件实现。
合并索引:对相同的term生成的索引进行合并,保持对同一个资源只建立一个索引。
探索语法:"AND" ,"OR",'NOT',指的是包含什么或什么不含有什么。
探索相关性:就是匹配程度,term weight(权衡相关比重)。
空间模型算法: 判断词(Term)之间的关系从而得到文档相关性的过程应用一种叫做向量空间模型的算法(Vector Space Model)。
1.2索引过程:
1) 有一系列被索引文件
2) 被索引文件经过语法分析和语言处理形成一系列词(Term)。
3) 经过索引创建形成词典和反向索引表。
4) 通过索引存储将索引写入硬盘。
1.3搜索过程:
a) 用户输入查询语句。
b) 对查询语句经过语法分析和语言分析得到一系列词(Term)。
c) 通过语法分析得到一个查询树。
d) 通过索引存储将索引读入到内存。
e) 利用查询树搜索索引,从而得到每个词(Term)的文档链表,对文档链表进行交,差,并得到结果文档。
f) 将搜索到的结果文档对查询的相关性进行排序。
g) 返回查询结果给用户。
2、Lucene轮廓:
Lucene是全文搜索的一种具体应用。
基本操作对象单元:
Document: 被索引的文档用Document对象表示。
IndexWriter:通过函数addDocument将文档添加到索引中,实现创建索引的过程。
Index:Lucene的索引是应用反向索引。
Query:当用户有请求时,Query代表用户的查询语句。
IndexSearcher:通过函数search搜索Lucene Index, IndexSearcher计算term weight和score并且将结果返回给用户。
TopDocsCollector:返回给用户的文档集合用TopDocsCollector表示。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Lucene初级教程
lucene简介 1.1 什么是lucene Lucene是一个全文搜索框架,而不是应用产品。因此它并不像www.baidu.com 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。 2 lucene的工作方式 lucene...
Lucene初级教程.pdf
Lucene初级教程 没接触过Lucene可以学习!
lucene.ppt,lucene课件 lucene 全面知识点,用于搜索开发
lucene 初级教程 java版本
闲着无聊做的lucene的知识管理,基本的lucene的用法都有。
lucene实例lucene实例lucene实例lucene实例lucene实例lucene实例lucene实例lucene实例lucene实例
自己写的一个lucene知识点集合,里面有一些常用的查询与创建,有我自己加的注释
lucene,lucene教程,lucene讲解。 为了对文档进行索引,Lucene 提供了五个基础的类 public class IndexWriter org.apache.lucene.index.IndexWriter public abstract class Directory org.apache.lucene.store....
luncene 初级资料,好好学习吧。亲,这不是在做广告。
lucene3.0 lucene3.0 lucene3.0 lucene3.0 lucene3.0