技术创新平台—企业级搜索引擎搭建

2015-03-02 07:03:20潘侃张林山刘增传
云南电力技术 2015年1期
关键词:企业级分词搜索引擎

潘侃,张林山,刘增传

(1.云南电网有限责任公司电力科学研究院,昆明 650217;2.昆明能讯科技有限责任公司,昆明 650217)

0 前言

各种搜索引擎的功能侧重不一样,依靠单一的搜索引擎不能完全提供需要的信息,因此需要一种软件或网站把各种搜索引擎无缝地融合在一起,智能搜索引擎是结合了人工智能技术的新一代搜索引擎。除了能提供传统的快速检索、相关度排序等功能,还能提供用户角色登记、用户兴趣自动识别、内容的语义理解、智能信息化过滤和推送等功能。智能搜索引擎设计追求的目标是:根据用户的请求,从可以获得的网络资源中检索出对用户最有价值的信息。

1 关键技术

1.1 solr 简介

Solr 是一个高性能,采用Java5 开发,基于Lucene 的全文搜索服务器。同时对其进行了扩展,提供了比Lucene 更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面。具有易用性:Solr 简化了Lucene 具体应用,使用户不用写代码或者简单的代码就可以实现搜索功能。Solr使用http 请求的方式完成索引的生成和查询。Solr 支持从文本、web 页面、数据库中直接导入数据,建立索引。Solr 提供了强大的配置功能,通过简单的修改配置文件就可以完成字段定义、数据类型定义、中文分词器、检索字段、检索方法、默认值等配置;异构性:Solr 提供了对异构系统的整合方案,在分布索引、结果排序、查询筛选、显示等方面俊提供了完整的解决方案;易集成性:Solr 是一个web 应用,支持不同语言多种客户端调用。

1.2 nutch 简介

Nutch 是一个开源Java 实现的搜索引擎。它提供了运行搜索引擎所需的全部工具。包括全文搜索和Web 爬虫。Nutch 提供了这样一个不同的选择.相对于那些商用的搜索引擎,Nutch 作为开放源代码 搜索引擎将会更加透明,从而更值得大家信赖。

1.3 IKAnalyzer 简介

KAnalyzer 是一个开源基于JAVA 语言的轻量级的中文分词第三方工具包。算法采用“正向迭代最细粒度切分算法”,支持细粒度和最大词长两种分词方式,速度最大支持80 W 字/秒(1 600 KB/秒)。支持多子处理器分析模式:中文、数字、字母,并兼容日文、韩文。较小的内存占用,优化词库占有空间,用户可自定义扩展词库。扩展Lucene 的扩展实现,采用歧义分析算法优化查询关键字的搜索排列组合,提高Lucene 检索命中率。

2 架构设计与实现

2.1 总体架构

技术创新支持平台的核心组件包括:Nutch+IKAnalyzer+Solr+Solrj。Nutch 用于爬取网页。Solr作为搜索引擎服务器,负责索引的建立和查询。由于Solr 自身的中文分词功能比较弱,所以利用IKAnalyzer 完成中文分词的功能。SolrJ 是操作Solr 的JAVA 客户端。总体架构图如下:

图1 总体架构图

2.2 建立电力行业词典

中文分词是中文自然语言处理中最基本的一个步骤,非常多的研究者对它做了很深入的研究,也因此产生了很多不同的分词方法,这些方法大体上可以分为两类:基于词典匹配的方法和基于统计的方法。技术创新平台使用的是基于词典匹配的方法。通用的分词词典更适用于日常语言环境,而在专业的领域的知识信息搜索中存在一定的不足之处。技术创新平台更多的是面向电力行业,通用词库中不包含电力行业特有的词,如:一次设备、断路器、饱和电抗器、熔断器等。

针对通用分词词典的不足,整理专业领域的词典。整理行业词典的基本操作主要有:去重、去噪、筛选、规整。在现有电力行业词典中加入整理、总结得到新的词汇,由于有新的词汇加入,很容易出现重复,需对词典进行去重操作。去噪和筛选,即去掉一些相关度比较低、甚至是特殊字符的词,保留使用频率较高的词。对词典进行规整,就是整理词典的规范性,如可能出现错别字,词中包含其他符号、空格、后缀等。通过几次以上操作的迭代,就可以得到一份高质量的行业词典。

2.3 内外网融合

企业级搜索引擎的建立还有一个极大的好处就是能够适应各种复杂的网络环境。通过企业级搜索引擎的搭建可以提供单机、局域网、外网甚至内外网结合的搜索服务。技术创新平台的搜索需求需要融合内外网,既要能搜索到外部网络的海量的信息内容,又要能搜索到内网中高质量的技术知识。同时还要保护内网中的信息。

根据平台的特殊的网络需求,设计网络结构如下:

图2 网络结构图

搜索引擎的服务器要求能同时访问内网网站和外网,这样就可以爬取内外网的网站。限制外网不能访问搜索引擎和和技术创新平台,这样内网的相关信息就不会暴露在外部网络环境中,保证了信息的安全。

2.4 其他领域的结合

技术创新平台建设的目的是方便职工搜集技术创新信息、拓宽职工的技术创新思路。这就要求系统能够充分获取航天、能源、医学等其他领域的新技术、新方法等信息。职工通过平台获取电力和其他行业的前沿技术信息,让职工了解相关技术及其运用,启发职工将其他领域的技术运用到电网生产运行中,解决相关问题和难点。

在搜索引擎爬取数据时,配置爬取各个领域的技术论坛、门户等信息网站。将现有问题和解决思路存库,方便添加和更新。同时在搜索引擎中建立问题和思路的索引,方便搜索。

3 结束语

技术创新平台运用了当前发达的网络体系和信息化技术,目的在于帮助开展职工技术创新活动,加强职工队伍建设,组织动员职工积极参与技术创新实践,是提高职工创新能力,促进创新型企业建设的良好途径。

[1]李春涛.利用搜索引擎搭建企业搜索平台[J].中文信息,2014.

[2]赵凯.基于Solr 的企业级搜索引擎的设计[J].电子世界,2013.

[3]李雪利.基于Solr 的企业搜索引擎的研究与实现[D].

[4]王晓琴.基于Nutch 的农业垂直搜索引擎研究[J].计算机工程与设计,2014.

[5]王小正.基于Nutch 和Solr 的基础教育垂直搜索引擎的实现[J].电脑知识与技术,2012.

猜你喜欢
企业级分词搜索引擎
企业级BOM数据管理概要
结巴分词在词云中的应用
智富时代(2019年6期)2019-07-24 10:33:16
基于慕课网的“企业级应用开发”课堂教学改革探索
电子制作(2017年10期)2017-04-18 07:23:03
值得重视的分词的特殊用法
企业级信息系统应用级灾备建设与应用
广西电力(2016年4期)2016-07-10 10:23:38
网络搜索引擎亟待规范
中国卫生(2015年12期)2015-11-10 05:13:38
城市轨道交通企业级BIM应用策划研究
基于Nutch的医疗搜索引擎的研究与开发
广告主与搜索引擎的双向博弈分析
高考分词作状语考点归纳与疑难解析