Lucene
Posted xuweiweiwoaini
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lucene相关的知识,希望对你有一定的参考价值。
1 全文检索
1.1 常见的全文检索
- 百度和Google中,可以搜索互联网中的信息,有:网页、PDF、Word、视频和音频等等。
- 在bbs或者博客、论坛等系统中,有搜索文章的功能。
- 总结:以上的查询功能都很类似,都是查询文本内容,查询的方法也很类似都市找出含有特殊字符串的资源。只不过查询的范围不一样。
1.2 全文检索的概念
- 从大量的信息中快速、准确的查找出所要的信息。
- 搜索的内容是文本信息(不是多媒体)。
- 搜索的方式:不是根据语句的语意进行处理的。而是根据关键词,比如搜索Java培训,那么关键词可能有Java、Java培训、培训等。
- 全面、快速、准确是衡量全文检索系统的关键指标。
- 总结:
- ①只处理文本。
- ②不处理语意。
- ③搜索的时候英文不区分大小写。
- ④结果列表有相关度排序。
1.3 全文检索的应用场景
1.3.1 站内搜索
- 通常用于在大量数据出现的系统中,找出你想要的资料。常见的有
- ①BBS的关键字搜索,比如百度贴吧。
- ②商品网站的搜索等,比如淘宝、京东等。
- 文件管理系统。比如Windows的文件搜索等。
1.3.2 垂直搜索
- 是针对某个行业的搜索引擎。
- 是搜索引擎的细分和延伸。
- 是针对网页库中的专门信息的整合。
- 其特点是专、深、精,并具有行业色彩。
- 可以应用于购物搜索、房产搜索和人才搜索等。
1.4 全文检索和数据库搜索的区别
1.4.1 数据库的搜索
- 例如:如下的sql
select * from 表名 where 字段名 like ‘%关键字%‘;
- 缺点:
- ①搜索结果比较差。
- ②在搜索的结果中,有大量的数据被搜索出来,有很多数据是没有用的。
- ③查询速度在大量数据的情况下是很难做到快速的,数据量一大,这速度呈指数下降。
1.4.2 全文检索
- ①搜索结果按相关度排序:意味着只有前面的几页对于用户来说是比较有用的,其它的结果和用户想要的答案很可能相差甚远。数据库的搜索是做不到相关度排序的。
- ②因为全文搜索采用的是索引的方式,所以在速度上肯定要比数据库的like要快。
- 总结:数据库搜索是不能代替全文检索的。
以上是关于Lucene的主要内容,如果未能解决你的问题,请参考以下文章