PDF搜索

        过完年后就一直在忙,也没来得及更新blog,今天提前把工作完成,终于有空了。
       前段时间在做一个pdf文档的搜索引擎,主要是为公司内部网站服务的。以前很少接触搜索 这方面的知识,一下子做起来感觉难度不小,不过有个开源的搜索框架Lucene,看了一下,感觉很是不错。
       要搜索pdf文档,必须首先把pdf文档转换为文本文档后才能进行搜索,所以主要分以下几个步骤:
       1.将PDF文档转换为文本文档
       2.为文本文档建立索引
       3.输入关键字进行搜索
       4.获得结果

       第一步,我用了一个pdftotext工具,程序调用这个工具后,就可以把指定的pdf文档转换为txt格式,但是这个工具不能解析加密的pdf文档。
       第二步,建立索引很关键,搜索的效率、速度就靠索引的质量,不过用lucene建立的还是很不错的,速度快,lucene建立索引的结构和数据库的表有些相似,它分为Field,Document。Field就相当于数据库表中的字段,Document相当于一条记录,也就是多个Field组成一个Document。我们可以有选择的对文档的每个部分建立索引。但生成一个Document对象后,就可以把它放到IndexWriter中去了。IndexWriter就是用来建立索引的核心类。调用IndexWriter的addDocument方法,将Document对象装入。之后调用optimize方法生成索引,生成的索引可以保存到磁盘上,也可以放入内存中。最后不要忘了close。
      第三步,建好了索引,查询就方便了。Lucene将查询的关键词放到Term对象中,建立查询对象TermQuery,TermQuery接受的就是Term对象。负责搜索的是IndexSearcher对象,需要告诉它索引的位置,如果索引在磁盘上,就需要给它传递FSDirectory对象,这个对象指定了索引的位置,如果是在内存中,就需要RAMDirectory对象。之后调用IndexSearcher的search方法,给它传递TermQuery或其他Query对象,就可以搜索了。Lucene还内置了不少分析方法Analyzer,用来对关键字进行分析,并提供了对中文的支持。但我感觉因为中文的意义太复杂,其中提供的Analyzer还不能很好的对中文做全面准确的分析,真是遗憾那!
     第四步,Lucene用Hits对象来存储搜索结果,调用hits的doc方法,就可以过得Document对象,在对Document对象进行分解,就可以获得具体的信息了。当然,Hits不仅仅能存储结果,还可以对查询效率做分析。
      如果你想像google那样对搜索关键字高亮后显示到网页上,可以用lucene2.0提供的HighLighter类,的确很方便

      以上就是我的一个总结,太笼统了,要想更好的了解lucene,看Lucene in action这本书,还有网上有不少好的资料。OK,就到这。
内容提要编辑 在网络普及的今天,人们经常在信息海洋中彷徨,在万维网迷宫般的复杂与魅力之间挣扎。直到搜索引擎这一伟大的技术产生,才使得人们犹如找到了走出迷宫的灯塔,可以非常便捷地找到自己所需要的信息。 正是因为搜索引擎离我们越来越近,所以越来越多的人期待着能够揭开她神秘的面纱。其实搜索引擎并不是变幻莫测的大海,也不是高不可攀的山峰。请拿起本书,它就是引领你的火炬,它就是你身边的伙伴,它将带着你走进搜索引擎。在那里,你必将会被搜索引擎精致的设计和宏伟的架构所征服。 本书由搜索引擎开发研究领域年轻而有活力的科学家精心编写,作者将自己对搜索引擎的深刻理解和实际应用巧妙地结合,使得从未接触过搜索引擎原理的读者也能够轻松地在搜索引擎的大厦中遨游一番。 编辑推荐编辑 《走进搜索引擎》是一本搜索引擎原理与技术的入门书籍,面向那些有志从事搜索引擎行业的青年学生、需要完整理解并优化搜索引擎的专业技术人员、搜索引擎的营销人员,以及网站的负责人等,是从事搜索引擎开发的工程技术人员难得的参考书,也可作为大中专院校相关专业的教学辅导书。 图书作者编辑 梁斌毕业于南京大学,获得软件工程硕士学位,曾经发表过多篇论文,获得1项国家专利,作者主要的兴趣方向包括数据挖掘、Wed挖掘、搜索引擎和软件工程等,目前在清华大学信息科学与技术国家实验室从事搜索引擎相关研究工作。 图书目录编辑 第一章引言 第一节什么是搜索引擎 第二节搜索引擎的发展简史 搜索引擎的发展历史 第三节搜索引擎大事快览 第四节国内著名搜索引擎 百度 中搜 天网 搜狗 参考文献 第二章搜索引擎概貌 第一节搜索引擎的主要需求 查得快 查得全 查得准 查得稳 第二节搜索引擎的大系统 搜索引擎的体系结构 第三章搜索引擎的下载系统 第一节爬虫的发展历史 世界上第一个爬虫 爬虫的发展历程 第二节万维网及其网页分析 蝴蝶结型的万维网 万维网的直径 万维网的规模及变化特征 网页的特征 第三节有关爬虫的基本概念 爬虫 种子站点 URL Backlinks
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值