首页 > 范文大全 > 正文

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

开篇:润墨网以专业的文秘视角,为您筛选了一篇NET中关键字输入时智能提示的设计与研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

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

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

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

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

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

1 关键技术

1.1 Web Servic

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

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

1.2 搜索引擎基本工作原理

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

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

1.3 AJAX框架技术

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

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

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

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

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

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

3 页面采集实现

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

HTML中存在大量的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 客户端查询实现

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

6 结束语

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

基金项目

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

参考文献

[1]张松.Facebook专利——预见社会化搜索引擎的未来[J].数字与缩微影像,2013(01):49-50.

[2]仰燕兰,金晓雪,叶桦 AJAX框架研究及其在Web开发中的应用[J].计算机应用与软件,2011(06):195-198.

[3]冯山,王晓勤,钱基德环境下的查询关键字输入智能提示控件的设计与实现研究[J].四川师范大学学报(自然科学版),2013(01):152-158.

[4]马志杰.国外搜索引擎评价研究综述[J].图书馆学研究,2013(02):2-6.

作者简介

任华(1982-),女,四川乐至人,讲师,硕士,研究方向:软件工程。

叶煜(1972-),女,四川泸州人,副教授,硕士,研究方向:计算机应用。

李辉(1981-),女,四川资中人,讲师,硕士,研究方向:图形图像。