一种数据检索方法及装置制造方法及图纸

技术编号:15746818 阅读:273 留言:0更新日期:2017-07-03 02:57
一种数据检索方法及装置,其中方法包括如下步骤,接收用户输入的检索内容信息,根据字典树对所述检索内容信息进行最大切词得到切词结果,根据切词结果在索引表中匹配数据字段,根据索引表中数据字段的分值计算各个数据字段对应的检索结果的总分值,根据总分值对检索结果进行排序。

Data retrieval method and device

A data retrieval method and apparatus, wherein the method comprises the following steps, the contents of information retrieval to receive user input, according to the dictionary tree on the content of the information retrieval results according to the obtained maximum segmentation segmentation, segmentation results, data fields in the table, the total score according to the retrieval results of index data in the table field score calculated the data field of the corresponding search results are sorted according to the total score.

【技术实现步骤摘要】
一种数据检索方法及装置
本专利技术涉及数据检索领域,尤其涉及一种根据权限控制筛选需要结果的检索方法。
技术介绍
目前对于数据库中的某个字段的内容的检索匹配,大部分都采用数据库中具有的操作,比如INSTR、LIKE等数据库操作语言进行模糊查询;也有的使用数据库提供的全文检索功能。其中,INSTR、LIKE操作是对数据库中的某个字段的值进行匹配查询,全文检索是将字段中的值经过处理后,生成索引,然后对字段中的所有值进行统计,并且可以得出匹配得分。使用LUCENE/SOLR等搜索引擎,先切词索引,以实现快速的文字搜索,同时可以搜索排序更加贴近语义,但是权限过滤并不擅长在实际项目中,我们对于一些数据的查询往往具有权限域的,具有相应的权限,才能查询到权限内的数据结果。
技术实现思路
INSTR、LIKE操作可能会吃掉数据库服务器大部分的cpu,并且有时候即使我们在表中已经建立了索引,它还是会不走索引的,这就会导致查询速度变慢。oraclemssql等数据库内的检索返回数据量庞大,不会进行结果优化,我们无法根据查询到的内容与关键字之间的相关度进行排序,将用户更想要的内容优先显示。数据库提供的全文检索,单字会搜索不到结果,关键字断字也搜索不到结果。不能进行通过权限域控制查询结果的显示。同时目前的搜索引擎、数据库全文检索,都不是实时结果查询,而是得定期提交内容或者重新建立索引。并且权限结合的时候,一旦基础权限数据改变,要么大量改变相关数据的权限信息,送索引很慢,要么搜索的时候需要跨库链接,非常缓慢。为此,需要提供一种新的检索方法,解决现有技术的上述问题。为实现上述目的,专利技术人提供了一种数据检索方法,包括如下步骤,接收用户输入的检索内容信息,根据字典树对所述检索内容信息进行最大切词得到切词结果,根据切词结果在索引表中匹配数据字段,根据索引表中数据字段的分值计算各个数据字段对应的检索结果的总分值,根据总分值对检索结果进行排序。进一步地,还包括步骤,根据用户的权限信息对检索结果进行筛选显示。具体地,还包括步骤,验证用户权限信息。进一步地,还包括步骤,建立基础表,所述基础表包括数据、数据对应的权限信息;所述数据用于作为检索结果显示,还包括步骤,根据用户的权限信息及数据对应的权限信息对检索结果进行筛选显示。进一步地,还包括步骤,建立索引表,对基础表中的数据进行切词得到数据字段,将数据字段、数据字段的分值及其对应的数据存储进索引表中。具体地,所述数据字段的分值计算方法为:具体地,所述基础表还包括数据对应的编号。一种数据检索装置,包括接收模块、切词模块、匹配模块、分值计算模块、排序模块;所述接收模块用于接收用户输入的检索内容信息,所述切词模块用于根据字典树对所述检索内容信息进行最大切词得到切词结果,所述匹配模块用于根据切词结果在索引表中匹配数据字段,所述分值计算模块用于根据索引表中数据字段的分值计算各个数据字段对应的检索结果的总分值,所述排序模块用于根据总分值对检索结果进行排序。进一步地,还包括筛选模块,所述筛选模块用于根据用户的权限信息对检索结果进行筛选显示。具体地,还包括验证模块,所述验证模块用于验证用户权限信息。进一步地,还包括基础表建立模块,所述基础表建立模块用于建立基础表,所述基础表包括数据、数据对应的权限信息;所述数据用于作为检索结果显示,还包括筛选模块,所述筛选模块用于根据用户的权限信息及数据对应的权限信息对检索结果进行筛选显示。进一步地,还包括索引表建立模块,所述索引表建立模块用于建立索引表,具体用于对基础表中的数据进行切词得到数据字段,将数据字段、数据字段的分值及其对应的数据存储进索引表中。具体地,所述数据字段的分值计算方法为:进一步地,所述基础表还包括数据对应的编号。区别于现有技术,上述技术方案通过建立索引,使查询速度更快,能够根据与查询的关键字相关度进行排序显示,支持的查询结果更准确,可通过权限域控制查询结果。附图说明图1为本专利技术具体实施例所述的数据检索方法流程图;图2为本专利技术具体实施例所述的字典树示例图;图3为本专利技术具体实施方式所述的数据检索装置模块图附图标记说明:300、接收模块;302、切词模块;304、分值计算模块;306、匹配模块;308、排序模块;310、筛选模块;312、验证模块;314、基础表建立模块;316、索引表建立模块。具体实施方式为详细说明技术方案的
技术实现思路
、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。请参阅图1,为本专利技术一种数据检索方法流程图,包括如下步骤,S104接收用户输入的检索内容信息,S106根据字典树对所述检索内容信息进行最大切词得到切词结果,S108根据切词结果在索引表中匹配数据字段,根据索引表中数据字段的分值计算各个数据字段对应的检索结果的总分值,S110根据总分值对检索结果进行排序。具体的,所述检索内容信息为任意字符信息,字典树的类型与检索内容信息的语言对应,以中文简体为例,则字典树为拼音字典树,用倒序法进行填充字典树,方便之后最大化匹配。图2给出了sang、gang、san的字典树实例。这里我们以sangang进行说明匹配方法,这里sangang会被最大化匹配为san’gang而不是sang‘ang。因为我们倒序匹配到第一个a的时候,其前面的字符为g,从字典树发现a有子节点g、s,所以可以得知这个g能跟后面的ang组成最大化拼音。所以这边就匹配成gang而不是ang,然后继续匹配,知道发现s前面没有字符了,所以sangang就会被匹配成san’gang。假如我们想将sangang匹配成sang’ang我们只需要用’将他们分隔下就可以。所述切词结果为检索内容信息根据字典树的切分,中文切成单字,拼音则根据拼音字典树进行最大切词,其他语言类似;将输入的值进行简单切词:汉字切成单字、双字,拼音通过字典树进行匹配。例如在进行步骤S104时,用户想要查询张*颖”这个人,我们突然忘了中间那个字是什么。这时候我们输入“张颖”或者拼音“zhangying”,这里将输入的值切词为:张、颖、张颖或者zhang、ying、zhangying。所述索引表包括了切词结果的分数计算规则,一般来说,切词结果与检索结果越相近,则得分越高,因此最终与切词结果,即与检索内容越像的检索结果,就会被排序显示出来,通过上述步骤,解决了检索内容通过切分词快速查找,快速排序的问题。提高了现有检索引擎的查找速度。在其他一些实施例中,用户在使用本专利技术方法时候可以进行用户权限信息的验证步骤,如输入账号密码等,进一步地,本专利技术还包括步骤,根据用户的权限信息对检索结果进行筛选显示。例如某些账户只能显示低安全性的数据,高级账户可以显示更高安全性的数据等等。在图1所示的进一步的实施例中,基础表、索引表可以按照如下述方式建立,步骤S100,建立基础表,所述基础表包括数据、数据对应的权限信息;所述数据用于作为检索结果显示,如,以数据是姓名为例,数据对应的权限信息为三位数字,见下表,具体地,所述基础表还包括数据对应的编号。为了将姓名与权信息进行对应,可以在基础表中增加“编号”属性,在编号为01的姓名中,001代表第一部门001001代表第一部门第一小组。在具体地实施例中,还包括步骤,根据用户的权限信息(账号本文档来自技高网
...
一种数据检索方法及装置

【技术保护点】
一种数据检索方法,其特征在于,包括如下步骤,接收用户输入的检索内容信息,根据字典树对所述检索内容信息进行最大切词得到切词结果,根据切词结果在索引表中匹配数据字段,根据索引表中数据字段的分值计算各个数据字段对应的检索结果的总分值,根据总分值对检索结果进行排序。

【技术特征摘要】
1.一种数据检索方法,其特征在于,包括如下步骤,接收用户输入的检索内容信息,根据字典树对所述检索内容信息进行最大切词得到切词结果,根据切词结果在索引表中匹配数据字段,根据索引表中数据字段的分值计算各个数据字段对应的检索结果的总分值,根据总分值对检索结果进行排序。2.根据权利要求1所述的数据检索方法,其特征在于,还包括步骤,根据用户的权限信息对检索结果进行筛选显示。3.根据权利要求2所述的数据检索方法,其特征在于,还包括步骤,验证用户权限信息。4.根据权利要求1所述的数据检索方法,其特征在于,还包括步骤,建立基础表,所述基础表包括数据、数据对应的权限信息;所述数据用于作为检索结果显示,还包括步骤,根据用户的权限信息及数据对应的权限信息对检索结果进行筛选显示。5.根据权利要求4所述的数据检索方法,其特征在于,还包括步骤,建立索引表,对基础表中的数据进行切词得到数据字段,将数据字段、数据字段的分值及其对应的数据存储进索引表中。6.根据权利要求5所述的数据检索方法,其特征在于,所述数据字段的分值计算方法为:7.根据权利要求4所述的数据检索方法,其特征在于,所述基础表还包括数据对应的编号。8.一种数据检索装置,其特征在于,包括接收模块、切词模块、匹配模块、分值计算模块、排序模块;所述接收模块用于接收用户输入的检索内容信息,所...

【专利技术属性】
技术研发人员:林利炜卢雪兵吴剑英
申请(专利权)人:福建榕基软件股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1