Lucene基本概念

Lucene基本概念:

1、  Index:索引库,文档的集合组成索引。和一般的数据库不一样,Lucene不支持定义主键,在Lucene中不存在一个叫做Index的类,通过IndexWriter来写索引,通过IndexReader来读索引。索引库在物理形式上一般是位于一个路径下的一系列文件。

2、  分析器:一段有意义的文字需要通过Analyzer分析器分割成一个个词语后才能按关键字搜索,StandardAnalyzer是Lucene中最常用的分析器。为了达到更好的搜索效果,不同的语言可以使用不同的搜索器(如CnAnalyzer是一个主要处理中文的分析器)。

3、  Analyzer返回的结果是一串Token,Token包含一个代表词本身含义的字符串和该词在文章中相应的起止偏移位置,Token还包含一个用来存储词类型的字符串。

4、  一个Document代表索引库中的一条记录,也叫做文档。要搜索的信息封装成Document后通过IndexWriter写入索引库,调用Searcher接口按关键词搜索后,返回的也是一个封装后的Document列表。

5、  一个Document可以包含多个列,叫做Field。例如一篇文章可以包含“标题”、“正文”、“修改时间”等Field。创建这些列对象以后,可通过Document的add方法增加这些列。与一般数据库不同,一个文档的一个列可以有多个值,例如一篇文档既可以术语互联网类,又可以属于科技类。

6、  Term是搜索语法的最小单位,复杂的搜索语法会分解成一个Term查询,他表示文档的一个词语,Term由两部分组成:它表示的词语和这个词语所出现的Field。

时间: 2024-11-05 18:34:47

Lucene基本概念的相关文章

lucene和ElasticSearch基本概念

lucene基本概念 索引(Index) 对应一个倒排表,一个检索的基本单位.在lucene中就对应一个目录. lucene基本概念 段(Segment) 一个索引可以包含多个段,段与段之间是独立的,添加新文档可以生成新的段,不同的段可以合并.段是索引数据存储的单元. 文档(Document) ?文档是我们建索引的基本单位,不同的文档是保存在不同的段中的,一个段可以包含多篇文档. ?新添加的文档是单独保存在一个新生成的段中,随着段的合并,不同的文档合并到同一个段中. 域(Field) ?一篇文档

Lucene-全文索引

最近接触了lucene,我想也有很多人曾经听过,于是带着好奇心,我开始对lucene进行了解,给我影响最深的是它非常多的应用了索引表,这个工具之所以快是就是因为大量引用到了索引表.今天只说下我刚开始做的校历例子,创建索引. 下面对lucene从概念上做个介绍,Lucene是一个信息检索的函数库(Library),利用它你可以为你的应用加上索引和搜索的功能.Lucene的使用者不需要深入了解有关全文检索的知识,仅仅学会使用库中的一个类,你就为你的应用实现全文检索的功能.不过千万别以为Lucene是

Lucene构建索引时的一些概念和索引构建的过程

在搜索文档内容之前要做的事情就是对从各种不同来源(网页,数据库,电子邮件等)的文档进行索引,索引的过程就是对内容进行提取,规范化(通过对内容进行建模来实现),然后存储. 在索引的过程中有几个基本的概念,根据我自己的理解大概写一下: 文档(Document): 文档在索引和搜索的时候都会用到,是索引和搜索的基本单位(类似于关系数据库关系表中的记录),若我们对网页内容进行索引和搜索,则从互联网上爬下来的每一个网页最终都会经过分析,提取出其中有意义的部分(比如网页标题,URL,包含的关键字,发布日期等

全文检索概念,Lucene大致结构

1.1 常见的全文检索 1) 在window系统中,可以指定磁盘中的某一个位置来搜索你想要得到的东西. 2) 在myeclipse中,点击Help->Help Contents,可以利用搜索功能找到你要查询的帮助文档. 3) 在百度和google 中,可以搜索互联网中的信息,有:网页.pdf.word音频.视频等内容. 4) 在bbs系统中,有搜索文章的功能. 以上的查询功能都相似,都是查询的文本内容,查询方法也相似即找出含有指定字符串的资源.只不过是查询的范围不一样.(硬盘.帮助文件.互联网)

看Lucene源码必须知道的基本概念

终于有时间总结点Lucene,虽然是大周末的,已经感觉是对自己的奖励,毕竟只是喜欢,现在的工作中用不到的.自己看源码比较快,看英文原著的技术书也很快.都和语言有很大关系.虽然咱的技术不敢说是部门第一的,说到日语和英语,倒是无人能出其右的.额~~,一个做技术的,感觉自己好弱啊.对语言,只是天赋而已.对技术,却是痴迷.虽然有人跟我说我不做管理白瞎了我这个人儿.但是我就一心想做技术,如果到了40岁,做技术没人要的话.我就去硅谷编代码去,毕竟硅谷的同事都说我技术挺好的,相信找个技术活儿还是不成问题的.话

Lucene的基本概念----转载yufenfei的文章

Lucene的基本概念 Lucene是什么? Lucene是一款高性能.可扩展的信息检索工具库.信息检索是指文档搜索.文档内信息搜索或者文档相关的元数据搜索等操作. 信息检索流程如下: 1. 将即将检索的资源集合放到本地,并使用某种特定的结构存储,称为索引,这个索引的集合称为索引库.由于索引库的结构按照专门为快速查询设计的,所以查询的速度非常的快: 2. 搜索操作时都是在本地的索引库中进行查找: 所以对于全文检索功能的开发,要做两方面:索引库管理(维护索引库中的数据).在索引库中进行搜索.而Lu

基础:从概念理解Lucene的Index(索引)文档模型

转:http://blog.csdn.net/duck_genuine/article/details/6053430 目录(?)[+] Lucene主要有两种文档模型:Document和Field,一个Document可能包含若干个Field. 每一个Field有不同的策略: 1.被索引 or not,将该字段(Field)经过分析(Analyisi)后,加入索引中,并不是原文 . 2.如果被索引,可选择是否保存“term vector”(向量),用于相似检索. 3.可选择是否存储(store

Lucene 基础理论

1. 全文检索系统与Lucene简介 1.1 什么是全文检索与全文检索系统 全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式.这个过程类似于通过字典中的检索字表查字的过程. 全文检索的方法主要分为按字检索和按词检索两种.按字检索是指对于文章中的每一个字都建立索引,检索时将词分解为字的组合.对于各种不同的语言而言,字有不同的含义,比如英文中字与词实际上

[转]分布式搜索elasticsearch几个概念解析

Document 在Elasticsearch世界(或者Lucene世界中),Document是主要的实体,文档这个单词有特殊的含义.它指的是在Elasticsearch中被存储到唯一ID下的由最高级或者根对象 (root object )序列化而来的JSON.Elasticsearch的documents最终被存储为Lucene documents. 文档元数据 一个文档不只包含了数据.它还包含了元数据(metadata) —— 关于文档的信息.有三个元数据元素是必须存在的,它们是: 名字 说