前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怎么会是lucene?

怎么会是lucene?

作者头像
田春峰-JCJC错别字检测
发布2019-02-14 11:35:46
3450
发布2019-02-14 11:35:46
举报

怎么会是lucene?

欢迎订阅作者微博

在好朋友lhelper的帮助下,开始学习全文搜索引擎lucene了。从网上搜索了一些全文搜索的资料后发现这方面的产品很多,光是在http://www.searchtools.com 上你可以查到100多个搜索的工具(包括源代码)。如果你在百度上以“全文搜索”为关键字 搜索的话,会发现除了理论上的介绍以外,大部分的实例都是来自lucene。为什么只有lucene这么广为接受呢?

这种感觉对我来讲,就好比keso张大嘴巴说:怎么会是新浪?

我想一个产品的普及有技术上的先进是必要条件,产品推广是充分条件。

而这两条lucene都具备了。

首先Lucene的贡献者Doug Cutting是一位资深全文索引/检索专家。这样的大腕开发出来的产品自然让大家心服口服。可我认为这还不是lucene如此广受欢迎的主要原因。我认为主要原因是:

1、 Lucene不是一个完整的全文索引应用,而是是一个用JAVA写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。这样的定位,使得lucene有很高的抽象层次,便于扩展和整合到已有的系统。因为对于大多数的全文搜索应用来说,我们需要的是一个开发工具包而不是最终产品(虽然很多搜索引擎也可以扩展特性功能)。这也是程序员最愿意接受的封装层次。

2、 Lucene的API接口设计的比较通用,输入输出结构都很像数据库的表==>记录==>字段,所以很多传统的应用的文件、数据库等都可以比较方便的映射到Lucene的存储结构/接口中。(上面语句有些来自 在应用中加入全文检索功能——基于JAVA的全文索引引擎Lucene简介)。

第二条关于Lucne 的推广。 Lucene在国内如此普及,我想车东的一系列搜索相关的文章介绍起了很大的推动作用。正如竹笋炒肉说的:不仅仅在推广和介绍方面,车东在Lucene的汉化及web应用,也作出了极大的极大的贡献。

尽管有一些介绍其他搜索引擎的文章,但是影响要小多了。

在阅读了国内关于lucene的很多文章后,我发现大部分的介绍都和车东的文章雷同(文字出入很大,估计不是抄袭,呵呵),但都是介绍如何迅速构建一个lucene式的服务,大部分属于hello world级别的。

在车东的文章中提到中文索引文件所占的空间和原文几乎一样大!这一点可让人无法接受,即使英文资料索引所占空间也达到了原文的30%到50%。如此发展下去google、百度们一定是海量硬盘消费的最大客户了。很显然对索引文件的优化是搜索引擎一个重要的部分。

另外如果要想让lucene成为分布式的搜索引擎,也要从索引文件下手,要么扩展索引文件成为分布式文件系统,要么把索引文件放到数据库中,利用数据库的分布式性能提供分布式搜索服务。

既然如此,我就有了分析lucene索引文件格式的想法。

我会在以后的文章中重点分析lucene索引的文件格式。

        lucene目前已经提供了lucene索引文件格式的标准文档,很多人基于此开发出了多种语言版本的lucene. ref: http://java2.5341.com/1_98.html

一个针对DAo的演示例子

基于JAVA技术的搜索引擎的研究与实现

http://udoo.51.net/mt/archives/000089.html

http://www.theserverside.com/news/thread.tss?thread_id=23043

http://www.tbray.org/ongoing/When/200x/2003/07/30/OnSearchTOC

Lots Of Interest in Lucene Desktop

http://www.getopt.org/luke/

田春峰

2004-12-23

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2004年12月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一个针对DAo的演示例子
  • 基于JAVA技术的搜索引擎的研究与实现
  • http://udoo.51.net/mt/archives/000089.html
  • http://www.theserverside.com/news/thread.tss?thread_id=23043
  • http://www.tbray.org/ongoing/When/200x/2003/07/30/OnSearchTOC
  • http://www.getopt.org/luke/
  • 田春峰
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档