.NET中关键字输入时智能提示的设计与

摘 要 设计如何在ASP.NET下实现输入关键字查询时,将其相关的热门关键字都显示出来.可以实现以输入开头的友好提示,能改善用户的体验,本设计结合Web Service将功能集成发布,利于日后任意网站开发时引用,具有一定的拓展性,同时在页面中结合了AJAX控件来查看效果,为.NET开发提供一定参考价值.

关 键 词 智能提示;web service;AJAX控件;搜索

中图分类号:TP31l 文献标识码:A 文章编号:1671—7597(2013)051-021-02

在许多WEB应用程序中,我们都会用到搜索引擎,从大量的信息中检索出我们所需要的信息.Google公司为我们提供了很好的搜索建议,也有很多文献专门研究具有这种操作体验的算法及环境,但对一般开发者而言,开发这种应用程序还比较困难,而且每个网站需要的个性化需求不同,鉴于此,本文研究了ASP.NET下实现输入关键字查询时智能提示的原理和方法,实现了输入关键字的前几个字,就可以把相关的热门关键字都显示出来的功能.

随着网络功能的不断完善和丰富,我们在网站开发中也不断踊跃出新的功能和服务,例如:查看实时天气、航班信息、在线支付等功能.这些都是来自不同领域的开发,我们开发的功能如何实现跨语言的共享.在此,文章中特将搜索引擎功能做了封装,便于后续不同语言开发WEB应用程序时使用.

1.关键技术

1.1 Web Servic

Web服务的全称是XML Web Service,是一种可编程的应用逻辑的组成,是建立可互操作的分布式应用程序的新平台,它是一套标准,能通过Inter与其他应用程序直接交互.Web服务中表示数据和交换数据的基本格式是XML(可扩展标记语言).Web服务使用基于XML作为基本的数据通信方式来消除使用各不同组件模型、操作系统、编程语言之间的差距.

Web服务优点:跨Inter,Web服务可以通过Inter与其他应用程序直接交互;语言独立,可以采用多种语言编写;协议独立,任何支持标准Web协议的服务器都能访问或提供Web服务;平立,可以通过Web服务使各种平台、系统、程序直接交互;服务器采用无状态架构,不需要维护状态信息,具备良好的伸缩性.

1.2 搜索引擎基本工作原理

搜索引擎的基本工作原理包括如下三个过程:首先在互联网中发现、搜集网页信息;同时对信息进行提取和组织建立索引库;再由检索器根据用户输入的查询关键字,在索引库中快速检出文档,进行文档与查询的相关度评价,对将要输出的结果进行排序,并将查询结果返回给用户.

搜索引擎的自动信息搜集功能分两种:一种是定期搜索,即每隔一段时间(比如Google一般是28天),搜索引擎主动派出“蜘蛛”程序,对一定IP地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和加入自己的数据库.搜索引擎的核心部分就是信息的采集和提取.本文在实现搜索引擎中用到的数据库,用户可以根据需求定期或不定期的维护数据库信息.

1.3 ASP.NET AJAX框架技术

随着AJAX无刷新技术的广泛应用,已经衍生出了许多优秀的AJAX框架.微软特推出来可视化的ASP.NET AJAX框架技术.它主要包括核心组件、工具包、增值组件、示例代码以及框架类库5个部分.


2.关键字输入时智能提示信息体系结构

关键字输入时,能智能提示相关信息主要包括3个部件,其结构图如图1所示.

页面搜集器:从网站首页出发,根据链接遍历整个站点,提取网页中数据信息存入数据库.

数据库存储:对网站信息建立索引,以智能提示查询信息.

客户端查询:用户在搜索界面输入查询字词,根据查询字词检索数据库中相似的记录,并显示出来.

3.页面采集实现

需要采集的内容因网站而异,获取它们的主要目的是力图在没有对页面内容语义信息进行理解的前提下,挖掘网页中商品信息.在用户搜索商品时可以根据检索到的信息给出最常用的热度排序.

HTML中存在大量的标记及空白字符,这些内容并不提供用于用户查询的有价值信息,为了节省时间,我们首先将此类信息屏蔽.这里采用正则表达式对文本进行筛选.例如:关键信息一般都会有超链接,这里采用正则表达式获取超链接中的内容.链接的HTML代码一般分为:、、、等,采用正则表达式“href \\ s* 等于 \\ s* ( ?: \d(? < 1 > [ ^\d] * ) \d) d”就可以找到的链接,以此类推,可以抓取到关键链接信息.

4.数据库检索实现

4.1 数据库设计

一方面,采集到的网页最终是为了向用户提供信息检索服务,提高检索性能,需要对网页内容建立全文索引.Sq l Server数据库提供了对表中字段建立全文索引的机制,可以查询联机文档以获得帮助.

另一方面,可根据网站实际需求自行创建查询关键字的数据表.在此,我们创建的关键字查询表SearchKeywordsT(id,searchKeywords,searchCount),id为主键,int,自动增长;searchKeywords为查询关键字,varchar(50),不允许为空;searchCount为检索热度,int,默认为1,数字越大检索频率越高.

4.2 数据检索

使用WEB Service封装数据检索功能,以实现它与其他应用程序之间的交互性.在创建的WEB Service中必须添加[System.Web.Script.Service.ScriptService]特性.它是WEB Service专门为AJAX的.通过GetHotSearchKeywords方法实现数据检索,执行时调用GetSearchKeywordsBySql方法获取值.实现输入关键字并与数据库进行匹配.查询关键字源代码如下: string sqlHot 等于 "select top " + displaycount + " * from SearchKeywordsT where searchKeywords like '" + keyword + "%' order by SearchCount desc";

5.客户端查询实现

页面中采用ASP.NET AJAX 核心控件ScriptManager管理系统,使用ASP.NET AJAX ControlToolkit工具包中的AutoComplete控件实现智能提示功能.主要代码如下:

6.结束语

本文结合了Web Service跨网络、协议独立等优点,给出了一个智能检索热门关键字的服务方法,以提升任何用户的调用.同时,为更好的提高操作性,文中还给出了使用ASP.NET AJAX控件改善用户体验.后续,使用者可根据个人开发需求对前端控件进行开发,也可扩充服务的功能达到更个性化的需求.本文中讨论的方法具有很强的可移植性,可以作为相关开发人员进行应用程序开发的参考.

基金项目

成都农业科技职业学院院级教改课题(编号:JG2011-22)

类似论文

智能小车的设计

摘 要:文章设计了一种能遥控启停的智能小车,采用AT89C52作为小车的检测和控制核心,该智能小车能实现语音。
更新日期:2024-10-23 浏览量:129502 点赞量:27295

基于Android和ZigBee的智能家居系统设计

摘 要:在未来世界的家居生活中,智能家居是不可扭转的趋势,它使得人们的生活更加便利、舒适和安全 根据人们实际。
更新日期:2024-3-11 浏览量:45523 点赞量:11292

基于arduino平台的智能遥控小车设计

【摘 要】本文是基于arduino平台的智能遥控小车设计,采用前桥转向,后轮驱动的布置方式,两轮各用一个直流电机配合。
更新日期:2024-2-1 浏览量:9291 点赞量:3765

智能楼宇电气设计

[摘 要]:随着科学技术的飞速发展,人类的生活环境及生活方式也在逐步发生转变,越来越。
更新日期:2024-3-21 浏览量:43442 点赞量:9890

校园GIS智能查询系统设计

摘 要:高校已经建成并投入使用的各项管理信息系统(MIS)使得学校的管理工作实现自动化,但这些管理信息系统的使。
更新日期:2024-7-25 浏览量:94245 点赞量:20546

高校智能财务系统设计

摘 要:高校智能财务分析系统是针对高等学校财务自动进行分析、直接生成财务分析结果,结合专家系统部分取。
更新日期:2024-5-13 浏览量:67837 点赞量:15079