用开源软件建垂直搜索引擎

来源 :计算机世界 | 被引量 : 0次 | 上传用户:liweimin90
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  用Solr、Nutch等开源软件来构建电子元器件垂直搜索引擎涉及很多实现细节,本文结合实际应用系统对数据采集、中文搜索、结果输出、分页处理、整合数据库等重点问题提出了切实可行的解决方法。
  
  针对搜索引擎的各种开源技术是开源社区的一枝奇葩,它大大缩短了构建搜索应用的周期,并使得根据特定需求打造个性化应用的垂直搜索引擎系统成为可能。作为一个独立的企业搜索应用解决方案,Solr在美国的众多知名网站中得到应用,如美国最大的科技资讯类网站CNet。Solr基于高性能的Lucene开发,它不仅实现了比Lucene更为丰富的查询语言和更为优异的查询性能,而且实现了可配置、可扩展,对外提供类似于Web 服务的API接口。用户可通过Http请求向搜索引擎服务器提交指定格式的XML文件生成索引,也可以通过“Http Get”操作提出查询请求,并得到XML格式的返回结果。Solr结合其他开源搜索软件成为构建行业垂直搜索引擎的优选方案。
  
  垂直搜索引擎的总体结构
  
  本文所述的电子元器件垂直搜索引擎以Solr 1.4为核心框架,综合应用Nutch、IK Analyzer等开源软件,充分利用它们灵活的配置、丰富的功能以及高效的性能,力求用最简单的代码,快速实现海量电子元器件信息的采集、文本搜索、参数检索,满足技术研究人员与市场采购人员对于行业领域知识的专、精、深要求。
  电子元器件垂直搜索引擎系统包括数据采集、数据加工、数据规划和管理、搜索服务四个主要部分。数据采集部分负责对Internet、Intranet、内部电子文档、结构化数据(关系数据库、XML)等进行抓取、滤重、分类、摘要; 数据加工部分负责对采集来的数据进行筛选、编辑和审校; 数据规划和管理部分负责系统元数据的定义与管理,包括分类体系、特性参数、参数类型、计量单位等; 搜索服务则为用户提供分类导航、数据检索、行业报告及其他个性定制服务(系统的总体结构如附图所示)。本文结合选取其中的数据采集(Web页面抓取、结构化数据采集、中文支持)、搜索结果呈现(层面浏览、高亮显示、分页处理)等几个重点实现方法进行介绍。
  
  数据采集
  
  1. Web页面抓取
  采集互联网Web页面的数据并非Solr所长,我们可以借助在这方面有着突出表现的Nutch。Nutch基于Hadoop分布式系统,既可以在单台机器上运行,也可以在多台机器构成的集群上运行。Nutch可以根据用户需要配置优先抓取某些页面,而且抓取质量很高。
  本系统我们利用Solr作为处理搜索结果的源和入口,而让Nutch负责它最擅长的工作: 抓取和提取内容。Nutch的配置文件是nutch-site.xml,配置的内容包括指定蜘蛛的名称、激活插件、限制单机一次运行抓取的最大URL数、指定抓取规则等。完成这些基本配置以后就可以进行抓取分析操作。
  2. 结构化数据采集
  为了充分利用现有资源,提高数据检索效率,我们把收录了100多万条电子元器件产品、1000多万条特性参数信息的中国电子元器件产品数据库和中国电子厂商数据库、韩国电子元器件信息库作为结构化数据源,向Solr一次全部导入数据,后续维护的部分使用增量导入。用于搜索的表主要涉及产品基本信息表、厂商基本信息表、分类表、特性参数表、参数模板表、模板信息表、产品特性参数值表、计量单位表等。
  Solr通过可配置的方式将数据库中多列、多表的数据生成Solr文档。配置的方法是在域结点内定义具体的字段(类似数据库中的字段),然后通过配置文件导入所有数据,发现并处理由插入、更新带来的变化。
  3. 中文搜索支持
  Solr的分析包并没有直接提供中文搜索支持。这里选用轻量级的中文分词工具包IK Analyzer来配合工作。IK Analyzer基于Java开源,如今新版本的IKAnalyzer 3.2.0已发展为面向Java 的公用分词组件,独立于Lucene 项目,同时提供了对Solr的专用接口。
  电子元器件搜索引擎系统利用的IK Analyzer特性包括: 特有的“正向迭代最细粒度切分算法”具有60 万字/秒的高速处理能力; 多词元处理器分析模式,支持英文字母(IP 地址、Email、URL)、数字(日期、常用中文数量词、罗马数字、科学计数法),中文词汇(姓名、地名处理)等分词处理; 优化的词典存储更小占内存用; 针对Lucene 全文检索优化的查询分析器IKQueryParser; 采用歧义分析算法优化查询关键字的搜索排列组合,可极大地提高检索的命中率。
  由于电子元器件垂直搜索应用面向特定的专业领域,IK Analyzer本身虽然已经提供很丰富的常用词汇,但对于专业性强的应用仍然显得捉衿见肘。好在IK Analyzer提供了良好的扩展能力,我们利用配置文件轻易实现了用户词典的扩展与定制,这样就可以搜索到如“精密薄膜柱状无引线电阻器”、“半波随机型固体继电器”这些专业词汇了。
  
  搜索结果呈现
  
  Solr的搜索结果通常以XML格式返回,这对于普通用户而言不合适,不过Solr提供了多种途径(如正则表达式和文本解析)将搜索返回的结果信息进行重新布局,以产生用户易于理解的可视页面,但都需要大量的编码工作。在系统中我们利用XSLT把XML格式的结果文件转换成HTML文件。经过转换后,就可以得到能看到搜索结果的页面了。
  Solr提供了层面浏览(facet)功能,它类似于一种分类筛选。运行层面无需在Solr 中进行配置,但可能需要按照新的方式对应用程序内容进行索引。在已索引的字段中完成分层,层面对未进行断词的非小写词最为有效。Facet 字段通常不需要存储,因为分层面的总体思想就是将可读的值显示给用户。要注意的是, Solr 没有在层面中创建类别,必须由应用程序自身在索引期间进行添加,正如在索引应用程序时给文档指派关键字一样。如果存在层面字段,Solr 就提供了查明这些层面及其计数的逻辑。
  另外,为了在搜索结果中取得最匹配的一段文本并突出显示出来,有必要对搜索结果进行高亮显示。高亮显示可修改配置文件实现。该配置中包括了高亮文本时使用的前缀和后缀(通常在此指定突出显示文本的字体、字号、颜色或其他风格)。
  如果搜索结果较多还需要分页,但我们不希望自行编写复杂的代码实现分页。我们在系统中使用了一个开源的分页插件,专门为Solr量身定制,由它对 Solr 的搜索结果进行分页处理。
  实际上,Solr的功能远不止以上这些,还有很多通过简单配置和少量修改即可实现的搜索功能有待研究开发。目前,我们围绕以Solr为主体的探索以及各项功能的实现仍在继续,力求在保证系统功能与性能的前提下,充分利用开源软件的优势,降低开发成本。
  (作者单位:董娅为电子工业出版社、周峻松为工业和信息化部电子科学技术情报研究所)
其他文献
企业动态  曙光龙腾服务器提前完成“核高基”任务   近日, 曙光信息产业股份有限公司宣布 ,基于龙芯处理器的曙光龙腾服务器目前已交付1000台,提前完成了国家“核高基”的任务指标。 拥有完全自主知识产权的龙腾服务器,实现了与国产操作系统、数据库、中间件等国产软件的完美兼容,开创了一个全自主解决方案时代,加快了产业化应用进程。        福昕软件宣布获亚马逊投资  本报讯 日前,福昕软件开
3月的北京乍暖还寒,MIPS科技公司的新任CEOSandeep Vij先生选择了这个时候开始他的中国之旅。此时,据其上任仅有一个多月的时间。作为一个有着多年半导体行业从业经验的领导者,他显然意识到,MIPS这个位处产业链最上游的重要角色必须快速准确地把握住云时代的先机。Sandeep Vij也不是空手而来,他试图为合作伙伴乃至终端用户带来更多的信心,以及更加真实的美好愿景。而这一切的源泉,就是应用
信息化是经济社会发展的必然趋势和必经路径,我们要认真地把握趋势、把握本质、把握需求、把握时机、开拓创新,走出一条符合中国特色的信息化科学发展道路。    中国IT两会是一年一度“政、产、学、研、用”相结合的大会,是各界共同就IT事业发展交流经验、总结成绩、畅想未来、探讨合作的一次盛会,借这个机会我也向与会的各位,就中国当前和未来阶段推进信息化的想法谈三点意见。  把握趋势 明确方向  最近一段时间
光伏产业在中国起步较晚,但发展神速。在这一过程中,信息系统为企业的协同管理和快速研发提供了强有力的支撑。    作为中国首家获得世界杯足球赛全球赞助权的企业,当“中国英利”四个大字出现在南非世界杯的球场上时,很多人可能还不知道这家公司是干什么的。英利绿色能源控股有限公司是目前中国唯一具有垂直一体化产业模式的光伏企业。集团建立了从多晶硅生产、硅锭铸造、硅片切割、光伏电池生产、光伏组件制造到应用系统和
上一期本专栏介绍了青岛市电子政务“十二五”规划,本期介绍内蒙古自治区兴安盟的电子政务建设情况。  兴安盟地处内蒙古自治区东北,人口不多,辖2个县级市、1个县、3个旗。该盟电子政务建设从资金来源、架构、信息服务等几个方面颇有特色,以电子政务和兴安盟政府门户网站为抓手,90%的联网机关开通局域网,全年无障碍率达到300天,并注重服务功能,值得学习。    按照着力打造发展型、效能型、服务型政府的要求,
华为终于显示出一个技术领先厂商的范儿——,华为ICT技术认证体系正式推出,并成为业界惟一覆盖全技术领域的认证体系。    在业界,上世纪90年代初开始的思科认证广为人知,获得思科认证曾是不少人找工作、跳槽的敲门砖。11月23日,正在向企业市场扩张的华为也向全球推出CT及ICT融合领域的技术认证体系,其体系的全面性和覆盖面之广,令人欣喜——这无疑标志着华为正式进入人才争夺市场。    全技术 多行业
“云手机”大战在即,商家纷纷跟进,蓄势待发。但作为其中的关键一环,用户在哪?      “云手机”来了。  厂商间的终端之争愈演愈烈,忙不迭地跑马圈地,布局移动互联网。但是不管各路人马如何争奇斗艳,最终用户是否买账,仍然是决定胜负的关键因素。为此,《计算机世界》通过线上线下结合的方式进行了随机抽样调查,试图从用户的角度来认识和诊断“云手机”。    云手机=定制机?  云计算逐渐兴起,如今,作为最
如果说IT的本质是服务,城市信息化就是解决民生的重要手段。在“十二五”规划下,用信息化服务民生,成为各地政府最重要的考量。青岛,这个奥帆之都,堪为表率。    蔚蓝的青岛,拥有“奥帆之都”的美称,在这一抹“蓝”中,信息化绝对是不可缺失的一部分——青岛是国家电子信息产业基地之一,拥有国家家电产业园和通信产业园,是国家“两化融合”和“三网融合”试点城市。  近日本报记者走进青岛,采访了市经信委领导、产
80后视点  推出可牛免费杀毒,说明金山已经意识到免费、收费之间不是非此即彼的关系,而更重要的是,它已经有自信在免费和收费之间做出自己的差异化了。    本周,瑞星投资可牛进军免费杀毒软件市场的消息不胫而走,在随后几天,绯闻的主角从瑞星变成了金山。其实无论日后证实这个主角是瑞星、金山两者中的谁,此事都有其特殊的意义。  对于“杀毒是否应该免费”这个问题,业内一直是众说纷纭。今年年初,有消息称360
从“家用核能吸尘器”到“电子宠物狗”,从“穿在身上的电脑”到“带在眼上的个人影院”,很多失败的科技创新都曾被视为未来的金矿。如今,被炒得通红的3D电视,或许也是赌错了未来。    2001年,“赛格威”的原型车Segway HT正式发布,这款被认为能取代汽车的两轮个人交通工具,至今没找准市场定位,难以摊平研发投资;2002年,HD-DVD诞生,但在消费者还没有形成普遍认同时,各大消费电子厂商已确定