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的主要内容,如果未能解决你的问题,请参考以下文章

lucene demo代码

三搜索引擎篇-lucene入门代码示例

ElasticSearch 学习笔记一 简介

Lucene学习总结

Lucene分析

1. 初识 Lucene