Lucene基本概念

        Lucene是一套Java API,就如同Servlet是一套API一样,Lucene不是一个独立的搜索引擎系统,但是你可以使用Lucene来开发搜索引擎系统。正如Servlet不是网站系统但是可以用Servlet技术开发网站一样。有独立的搜索引擎系统—如Nutch,不写一行代码就可以使用它。

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值