http://www.paper.edu.cn
- 1 -
基于 SOLR 的电信增值业务信息检索系统的设
计与实现
王何伟,王红熳
北京邮电大学网络与交换国家重点实验室交换与智能控制研究中心,北京 (100876)
E-mail:wanghw@dascom.net.cn
摘 要:SOLR 是一个开放源代码的全文本搜索引擎,是以 Lucene 为基础实现的搜索引擎
应用程序,隶属于 Apache Software Foundation 项目。本文给出了一种利用 SOLR 搜索引擎
在电信级的应用中提供餐饮信息检索的方法。文中详细阐述了通过语音及短信方式提供信息
检索服务的实现方法及关键技术,并讨论了 SOLR 引擎的性能优化问题。
关键词:SOLR,增值业务信息检索,搜索性能
中图分类号:TP311.56
1. 引言
随着计算机和 Internet 网络的日益普及,新生信息的数量呈级数般增长。为了更好的满
足“破解用户之意,切返用户之需”的需求,互联网搜索服务市场呈现出空前繁荣的景象。近
年来手机用户的数量已经将近互联网用户数量的 4 倍,电信运营商所掌握的信息又远比互联
网上的信息要更加确实可靠,这必然引发电信领域在搜索类增值服务上的新的演进。搜索服
务已经不仅仅局限于 PC 终端的舞台,开始向移动、固定电信网络伸出了触角。这是一种资
源的优势互补,同样也是三网融合的大势所趋。
实现方面,全文检索是现代信息检索中最具诱惑力的新技术。不过,搜索引擎技术并非
是一种大众技术,它的后台包括学术领域的众多先进思想和设计,因此,设计一个性能良好
并且实用性强的搜索引擎并非易事
[1]
。然而,Apache 软件联盟旗下 Lucene 项目的孵化为许
多小、中型的信息检索应用解决了这一大难题。SOLR 的诞生更是为构建基于 Web 服务的
搜索引擎提供了较多的便利。
2. SOLR 引擎简介
SOLR 是一种基于 Lucene 的、独立的、可供企业应用的搜索服务器,对外提供类似
Web-Service 的 APIs
[2]
。它可以为构建全文搜索应用程序提供索引管理和信息检索的服务接
口。外围系统开发者可以通过 HTTP 协议承载传输以 XML 形式组织的消息来驱动 SOLR 执
行信息检索的动作,获取同样是以 XML 形式标识的结果信息。
SOLR 基于 Lucene,又是对 Lucene 的一个扩展
[3]
。如图 1,向 SOLR 发起 HTTP 请求,
可能是管理索引或信息检索的请求。SOLR 根据建立的数据模型来分析数据,并根据配置的
分词器来对数据进行分词处理,然后将请求交给底层的 Lucene 接口,由 Lucene 生成索引文
件或在索引文件中进行检索并返回结果。下一章中将着重论述 SOLR 核心组件的构建。