业务对象管理中搜索模块的设计与实现

时间:2022-10-03 04:47:38

业务对象管理中搜索模块的设计与实现

摘要:在现代软件中,搜索功能已经成为不可缺少的部分。这个功能模块能够帮助用户方便地在大量数据中找到所需要的信息。本文着重介绍了信息检索的实现方法和基本思路,其中包括精确搜索和模糊搜索。

关键词:信息检索;精确搜索;模糊搜索

中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2011) 19-0000-01

Design and Implement of Search Modules in Business Object Sort Management

Wang Hao

(Beijing University of Technology,Beijing100083,China)

Abstract:In modern software,the search module has become the necessary part.This function module can help users find out the needed information conveniently from large amount of data.This article focuses on introducing the implement method and basic train of thought about search modules,including exact search and fuzzy search.

Keywords:Information search;Exact search;Fuzzy search

一、有关信息检索

(一)信息检索的意义

随着社会的日益进步和科学技术的进一步发展,人类进入了一个知识大爆炸的年代:创造出来的知识,交互产生的信息,数量越来越多,种类越来越多,存储方式也越来越多。在这种情况下,如何能够快速便捷的获取所需信息,已经成为一个亟待解决的具有重要实际意义的问题。

(二)信息检索的实现

在这个搜索模块中,笔者所使用的检索功能在VS2008的Tree View控件中实现,需要使用树状存储结构的搜索算法来实现。遍历算法分为递归方式和非递归方式。这两种方式各有利弊,递归方法代码少,层次清晰但难于调试。非递归方法思路简单,但是代码较长,结构也比较复杂。

底层数据的搜索主要通过SQL Server数据库的SQL语句直接实现。SQL语句的实现非常简单,但是执行效率会受到本身特点的制约。在联表查询部分,SQL语句实现不失为一种简单实用的办法。

二、精确搜索的实现

精确搜索的功能是严格地按照输入内容进行查找。在这部分的代码中,使用了一个非递归函数以实现树状图的遍历。一旦查找出所要的节点,即停止搜索并反馈查找内容。

三、模糊搜索的实现

(一)模糊匹配的意义

现有的信息检索系统大部分采用基于关键词精确匹配的检索技术。在实际应用中,由于表达能力有限,或者输入查询时发生错误(例如使用拼音输入法输入了同音的错字),用户的输入往往无法精确表述自己的检索意图;另一方面,检索系统索引的数据本身也可能存在错误,这就导致单纯文字上的精确匹配可能无法满足用户的需求[1]。

(二)模糊搜索的实现

模糊搜索是这个搜索模块涉及到的难点。笔者的想法是根据用户输入的关键字做去掉空格处理。之后根据子串在主串中出现的次数来设定相似度,以实现一定范围内的有效的搜索。

这段模糊查询函数是功能实现的重点。有两个功能:(1)把输入子串中的空格剔除掉。(2)判断输入子串是否符合相似度标准。

本模糊搜索函数相似度的定义:统计用户输入字符串(子串)中每一个关键字在搜索文本(母串)中出现的概率(出现为1,不出现为0)。概率为1的关键字长度之和与整个子串的长度比值即为相似度。

iCount为概率为1的字符串长度,tempS.Length为删除空格后子串的长度。二者的比值iCount/tempS.Length即为相似度。在本段代码中,若设置相似度为66.6%,即要求iCount/tempS.Length>2/3,化为标准C#语言表达式即为iCount*3>tempS.Length*2。

四、结论

设计实现业务对象的搜索功能。用户输入关键词,系统搜索业务对象元数据,并将搜索结果显示给用户。在这个功能模块中,搜索划分为精确搜索和模糊搜索。

参考文献:

[1]曹犟,邬晓钧,夏云庆,郑方.基于拼音相似度的汉语模糊检索方法的研究.第十届全国人机语音通讯学术会议暨国际语音语言处理研讨会论文摘要集,清华信息科学与技术国家实验室,2009.中国甘肃兰州,2009

[作者简介]王浩(1988.4-),男,辽宁省锦州市人,2011年7月毕业于北京科技大学计算机与通讯工程学院计算机科学与技术系,学士学位。

上一篇:IPv6构建下一代校园网的未来 下一篇:浅谈数据库中的完整性约束