CN101425068A - 对搜索结果进行排序的方法及排序装置 - Google Patents
对搜索结果进行排序的方法及排序装置 Download PDFInfo
- Publication number
- CN101425068A CN101425068A CNA2007101849627A CN200710184962A CN101425068A CN 101425068 A CN101425068 A CN 101425068A CN A2007101849627 A CNA2007101849627 A CN A2007101849627A CN 200710184962 A CN200710184962 A CN 200710184962A CN 101425068 A CN101425068 A CN 101425068A
- Authority
- CN
- China
- Prior art keywords
- search
- unit
- data
- data cell
- candidate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种对搜索结果进行排序的方法,其中上述搜索结果包括来自层级结构数据的多个候选数据单元,并且所述层级结构数据还包括与搜索请求者对应的数据单元,所述方法包括:根据层级结构数据,计算所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的相关距离,该相关距离表示层级结构数据中的数据单元之间的相关性;以及按照所述相关距离,对所述多个候选数据单元进行排序。本发明能够根据层级结构数据中候选数据单元与搜索请求者的数据单元之间的关系,对候选数据单元进行排序,使得搜索请求者能够很快确定与其关系最密切的候选数据单元。本发明还提供相应的排序装置以及基于层级结构数据的搜索方法和搜索引擎。
Description
技术领域
本发明涉及数据的排序技术,具体地说,涉及对搜索结果进行排序的方法和排序装置以及基于层级结构数据的搜索方法及搜索引擎。
背景技术
在例如公司、学校等大型组织的计算机网络中,通常设置有目录服务器以提供电子的目录服务,例如用户信息搜索等。当某个用户使用客户端软件在目录服务器中搜索某个人员时,该用户输入相应的搜索标准,例如姓名、邮件地址、电话号码等。客户端软件可以是电子邮件客户端软件、提供目录服务的网站等,例如IBM公司的Lotus Notes、Blue Page(蓝页)等。然后,目录服务器根据该搜索标准进行搜索,并将搜索结果返回用户。
然而,用户经常只能提供部分的、不完整的信息作为搜索标准,这会导致可能出现多个符合搜索标准的记录。另外,如果搜索目标具有与其它人员相同的信息,例如相同的姓或名等,也会导致返回多个记录。一般地,如果搜索结果包括多个记录,则该搜索结果中的多个记录按照字母顺序进行排序。用户需要浏览该搜索结果以选择所需要的记录,而该记录很可能排在较后的位置。
类似的情况也出现在用户使用电子邮件客户端软件时。例如,当用户使用Lotus Notes企业电子邮件系统发送邮件时,如果用户仅输入名字的一部分或者容易重复的名字,则会出现包含多个符合要求的名字的列表,用户需要从该列表中选择所需要的名字,而该列表中的名字按照字母顺序进行排序。这样,很可能出现用户所需要的名字处于列表的较后端的情况,从而使用户的操作不方便。尤其是,当用户需要经常向某个用户或某组用户发送许多电子邮件时,每次用户都需要浏览名字列表进行选择,这种浏览选择操作会浪费许多时间,造成效率低下。
另外,还经常出现这样的情况:发起搜索请求的用户想要找到与其在同一部门或组织中的人员,因此,希望该目标人员排在搜索结果列表的最前面,然而在现有技术中,搜索结果列表都是按照字母顺序进行排序的。
因此,希望有一种技术方案能够使发起搜索请求的用户迅速找到其所希望的搜索记录,即,使最相关的搜索记录位于搜索结果列表的前端。
文献“RFC2891-LDAP Control Extension for Server Side Sorting ofSearch Results”提供了在服务器侧对搜索结果的排序控制,其使用一个或多个排序键指定排序标准,然而,该排序控制仅限于现有的排序键,并且没有利用发起搜索请求的用户与搜索记录之间的关系。
发明内容
本发明正是基于上述技术问题而提出的,其目的在于提供一种对搜索结果进行排序的方法和排序装置,其能够利用层级结构数据中各个数据单元之间的关系,对搜索结果进行排序,从而方便搜索请求者迅速找到最关心的数据单元,提高了效率。此外,本发明还提供了一种基于层级结构数据的搜索方法及搜索引擎。
根据本发明的第一个方面,提供一种对搜索结果进行排序的方法,其中上述搜索结果包括来自层级结构数据的多个候选数据单元,并且所述层级结构数据还包括与搜索请求者对应的数据单元,所述方法包括:根据所述层级结构数据,计算所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的相关距离,所述相关距离表示所述层级结构数据中的数据单元之间的相关性;以及按照所述相关距离,对所述多个候选数据单元进行排序。
根据本发明的第二个方面,提供一种用于对搜索结果进行排序的排序装置,其中上述搜索结果包括来自层级结构数据的多个候选数据单元,并且所述层级结构数据还包括与搜索请求者对应的数据单元,所述排序装置包括:相关距离计算单元,用于根据所述层级结构数据,计算所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的相关距离,所述相关距离表示所述层级结构数据中的数据单元之间的相关性;以及排序单元,用于按照所述相关距离对所述多个候选数据单元进行排序。
根据本发明的第三个方面,提供一种基于层级结构数据的搜索方法,其中所述层级结构数据包括与搜索请求者对应的数据单元,所述搜索方法包括:接收来自搜索请求者的搜索请求,所述搜索请求包含唯一识别所述搜索请求者的识别信息和搜索标准;根据所述搜索请求,在所述层级结构数据中搜索与所述识别信息对应的搜索请求者的数据单元和符合所述搜索标准的搜索结果;以及利用上述的对搜索结果进行排序的方法,对所述搜索结果进行排序。
根据本发明的第四个方面,提供一种基于层级结构数据的搜索引擎,其中所述层级结构数据包括与搜索请求者对应的数据单元,所述搜索引擎包括:搜索请求接收装置,用于接收来自搜索请求者的搜索请求,所述搜索请求包含唯一识别所述搜索请求者的识别信息和搜索标准;搜索装置,用于根据所述搜索请求,在所述层级结构数据中搜索与所述识别信息对应的搜索请求者的数据单元和符合所述搜索标准的搜索结果;以及上述的用于对搜索结果进行排序的排序装置,用于对所述搜索结果进行排序。
附图说明
图1是根据本发明的一个实施例的对搜索结果进行排序的方法的流程图;
图2是根据本发明的另一个实施例的对搜索结果进行排序的方法的流程图;
图3是根据本发明的再一个实施例的对搜索结果进行排序的方法的流程图;
图4是根据本发明的一个实施例的基于层级结构数据的搜索方法的流程图;
图5是层级结构数据的一个例子的示意图;
图6是根据本发明的一个实施例的用于对搜索结果进行排序的排序装置的示意性方框图;
图7是根据本发明的另一个实施例的用于对搜索结果进行排序的排序装置的示意性方框图;
图8是根据本发明的再一个实施例的用于对搜索结果进行排序的排序装置的示意性方框图;
图9是根据本发明的一个实施例的基于层级结构数据的搜索引擎的示意性方框图。
具体实施方式
相信通过以下结合附图对本发明的具体实施例的详细描述,本发明的上述和其它目的、特征和优点将更加明显。
图1是根据本发明的一个实施例的对搜索结果进行排序的方法的流程图。下面结合附图,对本实施例进行详细描述。
在本实施例中,搜索结果是根据搜索请求者的请求在层级结构数据中进行搜索而得到的,其包括来自层级结构数据的多个候选数据单元,并且在该层级结构数据中还包括与搜索请求者对应的数据单元(以下称为搜索请求者的数据单元)。
如图1所示,当从层级结构数据中获得搜索结果后,在步骤110,根据层级结构数据,计算搜索请求者的数据单元与多个候选数据单元中的每一个候选数据单元之间的相关距离,作为搜索结果的排序标准。在层级结构数据中,各个数据单元之间的关系(相关性)可以通过彼此之间的相关距离来表示,并且两个数据单元之间的相关距离越小,则这两个数据单元越相关。
在获得了搜索请求者的数据单元与每一个候选数据单元之间的相关距离后,在步骤120,按照在步骤110中计算出的相关距离,对搜索结果中的多个候选数据单元进行排序,例如,按照相关距离从小到大的顺序将多个候选数据单元进行排序。这样,搜索结果中与搜索请求者的数据单元的关系最密切的候选数据单元被排在搜索结果的最前面,从而方便搜索请求者的进一步操作。
通过以上描述可以看出,本实施例的对搜索结果进行排序的方法能够利用层级结构数据中搜索请求者的数据单元与搜索结果的候选数据单元之间的关系,对候选数据单元进行排序,使得搜索请求者能够很快确定与其关系最密切的候选数据单元。
图2是根据本发明的另一个实施例的对搜索结果进行排序的方法的流程图,其中,与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图,对本实施例进行详细描述。
在本实施例中,当执行计算搜索请求者的数据单元与多个候选数据单元中的每一个候选数据单元之间的相关距离的步骤110时,首先在步骤201,在层级结构数据中查找搜索请求者的数据单元与每一个候选数据单元之间的路径,然后在步骤205,计算每一条路径的长度,并将其作为搜索请求者的数据单元与多个候选数据单元的每一个之间的相关距离。
然后,在步骤120中,将多个候选数据单元按照在步骤205中得到的相关距离从小到大的顺序进行排序。这样,搜索结果中与搜索请求者的数据单元的关系最密切的候选数据单元被排在搜索结果的最前面。
通过以上描述可以看出,本实施例的对搜索结果进行排序的方法进一步将搜索请求者的数据单元与每一个候选数据单元之间的路径的长度作为相关距离以定位与搜索请求者的数据单元的关系密切的候选数据单元。
图3是根据本发明的再一个实施例的对搜索结果进行排序的方法的流程图,其中,与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图,对本实施例进行详细描述。
在本实施例中,计算搜索请求者的数据单元与多个候选数据单元中的每一个候选数据单元之间的相关距离的步骤110采用路径反推法。
具体地,首先,在步骤301,获取层级结构数据中从搜索请求者的数据单元到根节点数据单元的路径,作为搜索请求者路径。其次,在步骤305,获取层级结构数据中从多个候选数据单元中的每一个候选数据单元到根节点数据单元的路径,即获得多条候选数据单元的路径。然后,在步骤310,识别位于搜索请求者路径与每一条候选数据单元的路径的交叉处的数据单元,即搜索请求者的数据单元和每一个候选数据单元的共同的祖先节点数据单元。最后,在步骤315,计算搜索请求者的数据单元与所识别的交叉处的数据单元之间的间隔,并将其作为搜索请求者的数据单元与相应的候选数据单元之间的相关距离。
然后,在步骤120,将多个候选数据单元按照在步骤315中得到的相关距离从小到大的顺序进行排序。这样,搜索结果中与搜索请求者的数据单元的关系最密切的候选数据单元被排在搜索结果的最前面。
通过以上描述可以看出,本实施例的对搜索结果进行排序的方法采用路径反推法计算搜索请求者的数据单元与候选数据单元之间的相关距离,能够更加准确地定位与搜索请求者的数据单元的关系最密切的候选数据单元。
本领域的普通技术人员能够理解,可以选择上述的任意一个计算相关距离的方法来计算搜索请求者的数据单元与候选数据单元之间的相关距离。当然,也可以根据需要使用其它的计算相关距离的方法。
在上述的实施例中,搜索结果的排序标准是层级结构数据中搜索请求者的数据单元与搜索结果中的候选数据单元之间的相关距离。
进一步地,在其它实施例中,搜索结果的排序标准还可以考虑搜索结果的权重,即搜索结果还可以包括与多个候选数据单元的每一个相对应的权重。在这种情况下,当执行了步骤110之后,按照所计算的搜索请求者的数据单元与多个候选数据单元中的每一个候选数据单元之间的相关距离以及每一个候选数据单元所对应的权重,对多个候选数据单元进行排序。例如,可以对每一个候选数据单元计算其权重和与搜索请求者的数据单元之间的相关距离的加权值,其中权重和相关距离的加权系数可以预先确定。然后,在步骤120,将多个候选数据单元按照加权值从小到大的顺序进行排序。
进一步地,在其它实施例中,搜索结果的排序标准还可以考虑层级结构数据中的数据单元的属性。具体地,查找多个候选数据单元中与搜索请求者的数据单元的属性相同的候选数据单元,例如,搜索请求者的数据单元的属性为工程师,则查找多个候选数据单元中属性为工程师的候选数据单元。然后,在排序步骤(步骤120)中,将与搜索请求者的数据单元的属性相同的候选数据单元和其余候选数据单元分别进行排序。本领域的普通技术人员可以理解,上述查找步骤可以在计算步骤(步骤110)之前执行,也可以在计算步骤(步骤110)之后执行。
进一步地,在其它实施例中,搜索结果的排序标准还可以考虑搜索结果的权重和数据单元的属性的结合,这对于本领域的普通技术人员来说是容易理解的,此处省略其说明。
本领域的技术人员可以理解,上述实施例的对搜索结果进行排序的方法可以单独使用,也可以与现有的搜索方法、目录服务软件相结合。
在同一发明构思下,图4是根据本发明的一个实施例的基于层级结构数据的搜索方法的流程图,其中对于与前面实施例相同的部分,适当省略其说明。下面结合附图详细说明本实施例。
在本实施例中,层级结构数据包括与搜索请求者对应的数据单元,即搜索请求者的数据单元。
如图4所示,在步骤401,接收由搜索请求者发起的搜索请求,该搜索请求包含有唯一识别搜索请求者的识别信息和搜索标准。识别信息用于确定层级结构数据中搜索请求者的数据单元,并且识别信息可以是搜索请求者的完整邮件地址、用户ID等。
然后,在步骤410,根据该搜索请求,在层级结构数据中搜索与识别信息对应的搜索请求者的数据单元和符合搜索标准的搜索结果,该搜索结果包括多个候选数据单元。该步骤可以使用现有的数据搜索技术,例如模糊匹配法、精确匹配法等。现有的数据搜索技术对于本领域的普通技术人员是已知的,此处适当省略其说明。
在步骤410中搜索到的搜索结果中的多个候选数据单元没有被排序或者按照字母顺序进行排序。
然后,在步骤420,利用图1、图2或图3所示的任意一个对搜索结果进行排序的方法,对所搜索的搜索结果进行排序。排序后的搜索结果以列表的形式返回给搜索请求者。
本领域的普通技术人员可以理解,本实施例的基于层级结构数据的搜索方法可以单独使用,也可以与现有的目录服务软件相结合。
通过以上描述可以看出,本实施例的基于层级结构数据的搜索方法不仅能够在层级结构数据中搜索符合搜索标准的候选数据单元,而且能够根据层级结构数据中搜索请求者的数据单元与候选数据单元之间的关系,对候选数据单元进行排序,使得搜索请求者能够很快找到所需要的搜索结果,提高了效率。
在以上的实施例中,层级结构数据可以是树型结构数据,例如公司的组织结构图。下面结合一个公司的组织结构图的例子说明图3所示的实施例的具体应用。
图5示出了层级结构数据的一个例子,即某公司的组织结构图,其被存储在该公司的目录服务器中。如图5所示,该层级结构数据(组织结构图)的根节点数据单元是“总裁(ID:E1)”,其子节点数据单元是“经理MA(ID:M1)”和“经理MB(ID:M2)”。节点数据单元“经理MA(ID:M1)”的子节点数据单元是“经理ME(ID:M3)”和“经理MF(ID:M4)”,节点数据单元“经理MB(ID:M2)”的子节点数据单元是“经理MG(ID:M5)”。节点数据单元“经理ME(ID:M3)”的子节点数据单元是“员工EA(ID:EM1)”和“员工EB(ID:EM2)”,节点数据单元“经理MF(ID:M4)”的子节点数据单元是“员工EB(ID:EM3)”,节点数据单元“经理MG(ID:M5)”的子节点数据单元是“员工EB(ID:EM4)”。可以看出,在该组织结构图中,有3名员工的姓名是相同的,即EB。
如果员工EA想要搜索位于同一部门的员工EB,则其输入“EB”作为搜索标准,该搜索标准“EB”和员工EA的识别信息“ID:EM1”一起作为搜索请求被提交给目录服务器。目录服务器根据该搜索请求,在组织结构图中进行搜索,得到员工EA的数据单元“员工EA(ID:EM1)”和符合搜索标准“EB”的3个候选数据单元“员工EB(ID:EM2)”、“员工EB(ID:EM3)”和“员工EB(ID:EM4)”。
然后,获取从员工EA的数据单元和3个候选数据单元到根节点数据单元的路径,分别是:
从员工EA的数据单元“员工EA(ID:EM1)”到根节点数据单元“总裁(ID:E1)”的路径:EM1-M3-M1-E1;
从候选数据单元“员工EB(ID:EM2)”到根节点数据单元“总裁(ID:E1)”的路径:EM2-M3-M1-E1;
从候选数据单元“员工EB(ID:EM3)”到根节点数据单元“总裁(ID:E1)”的路径:EM3-M4-M1-E1;
从候选数据单元“员工EB(ID:EM4)”到根节点数据单元“总裁(ID:E1)”的路径:EM4-M5-M2-E1。
因此,可以获得在从员工EA的数据单元到根节点数据单元的路径与其它3条从候选数据单元到根节点数据单元的路径的交叉处的数据单元,分别是数据单元“经理ME(ID:M3)”、“经理MA(ID:M1)”和“总裁(ID:E1)”。
然后,计算员工EA的数据单元到各个交叉处的数据单元之间的间隔,作为员工EA的数据单元与各个候选数据单元之间的相关距离。因此,员工EA的数据单元“员工EA(ID:EM1)”与候选数据单元“员工EB(ID:EM2)”之间的相关距离是1,员工EA的数据单元“员工EA(ID:EM1)”与候选数据单元“员工EB(ID:EM3)”之间的相关距离是2,员工EA的数据单元“员工EA(ID:EM1)”与候选数据单元“员工EB(ID:EM4)”之间的相关距离是3。
然后,按照相关距离从小到大的顺序排列3个候选数据单元,作为搜索结果列表,即“员工EB(ID:EM2)”、“员工EB(ID:EM3)”和“员工EB(ID:EM4)”,这样,与员工EA在同一部门的员工EB(ID:EM2)位于该列表的第一位。最后,将该搜索结果列表返回员工EA。
在同一发明构思下,图6是根据本发明的一个实施例的用于对搜索结果进行排序的排序装置的示意性框图。下面结合附图,详细说明本实施例。
在本实施例中,搜索结果是根据搜索请求者的请求在层级结构数据中进行搜索而得到的,包括来自层级结构数据的多个候选数据单元,并且在该层级结构数据中还包括与搜索请求者对应的数据单元(以下称为搜索请求者的数据单元)。
如图6所示,本实施例的用于对搜索结果进行排序的排序装置600包括:相关距离计算单元601,其根据层级结构数据,计算搜索请求者的数据单元与多个候选数据单元中的每一个候选数据单元之间的相关距离;以及排序单元602,其按照由相关距离计算单元601计算的相关距离对多个候选数据单元进行排序。
具体地,当从层级结构数据中获得包括多个候选数据单元的搜索结果后,在相关距离计算单元601中计算搜索请求者的数据单元与每一个候选数据单元之间的相关距离,作为搜索结果的排序标准。如前所述,相关距离表示层级结构数据中的数据单元之间的相关性,并且两个数据单元之间的相关距离越小,这两个数据单元越相关。
然后,排序单元602根据由相关距离计算单元601计算出的相关距离,对多个候选数据单元按照相关距离进行排序,例如,可以按照相关距离从小到大的顺序对多个候选数据单元进行排序。
通过以上描述可以看出,本实施例的用于对搜索结果进行排序的排序装置在操作上能够实现图1所示的对搜索结果进行排序的方法,并达到相同的效果。
图7是根据本发明的另一个实施例的用于对搜索结果进行排序的排序装置700的示意性方框图。其中,与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图,对本实施例进行详细描述。
在本实施例中,当在相关距离计算单元601中计算搜索请求者的数据单元与每一个候选数据单元之间的相关距离时,首先路径查找单元701在层级结构数据中查找搜索请求者的数据单元与每一个候选数据单元之间的路径,然后由计算单元702计算每一条路径的长度,并将其作为搜索请求者的数据单元与多个候选数据单元的每一个之间的相关距离。
然后,排序单元602根据由相关距离计算单元601计算出的距离,对多个候选数据单元按照距离从小到大的顺序进行排序。
通过以上描述可以看出,本实施例的用于对搜索结果进行排序的排序装置在操作上能够实现图2所示的对搜索结果进行排序的方法,并达到相同的效果。
图8是根据本发明的再一个实施例的用于对搜索结果进行排序的排序装置800的示意性方框图。其中,与前面实施例相同的部分采用相同的标记,并适当省略其说明。下面结合附图,对本实施例进行详细描述。
在本实施例中,当在相关距离计算单元601中计算搜索请求者的数据单元与每一个候选数据单元之间的相关距离时,首先,路径获取单元801在层级结构数据中获取从搜索请求者的数据单元到根节点数据单元的搜索请求者路径以及从多个候选数据单元中的每一个候选数据单元到根节点数据单元的路径,然后,识别单元802识别位于搜索请求者路径与每一个候选数据单元的路径的交叉处的数据单元,并由计算单元803计算搜索请求者的数据单元与所识别的位于交叉处的数据单元之间的间隔,作为搜索请求者的数据单元与多个候选数据单元中相应的候选数据单元之间的相关距离。
然后,排序单元602根据由相关距离计算单元601计算出的相关距离,对多个候选数据单元按照相关距离从小到大的顺序进行排序。
通过以上描述可以看出,本实施例的用于对搜索结果进行排序的排序装置在操作上能够实现图3所示的对搜索结果进行排序的方法,并达到相同的效果。
本领域的普通技术人员能够理解,相关距离计算单元601可以采用图7所示的实施例中的相关距离计算单元的结构,也可以采用图8所示的实施例中的相关距离计算单元的结构。当然,相关距离计算单元601也可以根据需要采用其它的结构。
进一步地,搜索结果的排序标准除了搜索请求者的数据单元与搜索结果之间的相关距离,还可以考虑搜索结果的权重,即搜索结果还包括与多个候选数据单元中的每一个候选数据单元相对应的权重。在这种情况下,当相关距离计算单元601计算了搜索请求者的数据单元与每一个候选数据单元之间的相关距离后,排序单元602按照这些相关距离以及每一个候选数据单元所对应的权重,对多个候选数据单元进行排序。例如,在排序单元602中,可以先计算出每一个候选数据单元的权重和搜索请求者的数据单元与该候选数据单元之间的相关距离的加权值,其中权重和相关距离的加权系数可以预先确定;然后将多个候选数据单元按照加权值从小到大的顺序进行排序。
进一步地,搜索结果的排序标准还可以考虑层级结构数据中的数据单元的属性。具体地,在上述的用于对搜索结果进行排序的排序装置中还包括属性匹配单元,其查找多个候选数据单元中与搜索请求者的数据单元的属性相同的候选数据单元,然后,在排序单元602中,将与搜索请求者的数据单元的属性相同的候选数据单元和其余候选数据单元分别进行排序。
本领域的普通技术人员可以理解,上述实施例的用于对搜索结果进行排序的排序装置600、700或800可以单独使用,也可以与现有的搜索引擎、目录服务软件相结合。
在同一发明构思下,图9是根据本发明的一个实施例的基于层级结构数据的搜索引擎的示意性方框图,其中对于与前面实施例相同的部分,适当省略其说明。下面结合附图,详细说明本实施例。
在本实施例中,层级结构数据包括与搜索请求者对应的数据单元,即搜索请求者的数据单元。
如图9所示,本实施例的基于层级结构数据的搜索引擎900包括:搜索请求接收单元901,其接收来自搜索请求者的搜索请求,该搜索请求包含有唯一识别该搜索请求者的识别信息和搜索标准;搜索单元902,其根据所接收的搜索请求,在层级结构数据中搜索与识别信息对应的搜索请求者的数据单元和符合搜索标准的搜索结果;以及如图6或图7或图8所示的用于对搜索结果进行排序的排序装置600或700或800,其对由搜索单元902搜索到的搜索结果进行排序。
具体地,当搜索请求者发起搜索请求时,搜索请求接收单元901接收到该搜索请求。如前所述,搜索请求中包含搜索请求者的识别信息和搜索标准,搜索请求者的识别信息可以是完整的姓名或者用户ID等,用于在层级结构数据中确定与搜索请求者对应的数据单元。搜索请求接收单元901将该搜索请求传输到搜索单元902,由搜索单元902根据识别信息在层级结构数据中搜索出搜索请求者的数据单元,根据搜索标准在层级结构数据中搜索出包括多个候选数据单元的搜索结果,并将搜索请求者的数据单元和搜索结果发送到排序装置600或700或800,以对搜索结果进行排序。排序后的搜索结果以列表的形式返回给搜索请求者。
本领域的普通技术人员可以理解,本实施例的基于层级结构数据的搜索引擎900可以单独使用,也可以与目录服务软件相结合。
通过以上描述可以看出,本实施例的基于层级结构数据的搜索引擎能够在操作上实现图4所示的基于层级结构数据的搜索方法,并达到相同的效果。
应当指出,上述实施例的用于对搜索结果进行排序的排序装置600、700和800以及基于层级结构数据的搜索引擎900及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。
以上虽然通过一些示例性的实施例详细描述了本发明的对搜索结果进行排序的方法、排序装置、基于层级结构数据的搜索方法和搜索引擎,但是以上这些实施例并不是穷举的,本领域技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发明的范围仅由所附的权利要求限定。
Claims (14)
1.一种对搜索结果进行排序的方法,其中上述搜索结果包括来自层级结构数据的多个候选数据单元,并且所述层级结构数据还包括与搜索请求者对应的数据单元,所述方法包括:
根据所述层级结构数据,计算所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的相关距离,所述相关距离表示所述层级结构数据中的数据单元之间的相关性;以及
按照所述相关距离,对所述多个候选数据单元进行排序。
2.根据权利要求1所述的对搜索结果进行排序的方法,其中,所述计算所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的相关距离的步骤包括:
查找所述层级结构数据中所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的路径;以及
计算每一条所述路径的长度,作为所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的相关距离。
3.根据权利要求1所述的对搜索结果进行排序的方法,其中,所述计算所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的相关距离的步骤包括:
获取所述层级结构数据中从所述搜索请求者的数据单元到根节点数据单元的搜索请求者路径;
获取所述层级结构数据中从所述多个候选数据单元的每一个到根节点数据单元的路径;
识别位于所述搜索请求者路径与所述多个候选数据单元的每一个的路径的交叉处的数据单元;以及
计算所述搜索请求者的数据单元与所识别的交叉处的数据单元之间的间隔,作为所述搜索请求者的数据单元与所述多个候选数据单元中相应的候选数据单元之间的相关距离。
4.根据权利要求1至3任意一项所述的对搜索结果进行排序的方法,其中,上述搜索结果还包括与上述多个候选数据单元的每一个相对应的权重;
所述对所述多个候选数据单元进行排序的步骤包括:
按照所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的相关距离以及所述多个候选数据单元的每一个所对应的权重,对所述多个候选数据单元进行排序。
5.根据权利要求1至4任意一项所述的对搜索结果进行排序的方法,还包括:
查找所述多个候选数据单元中与所述搜索请求者的数据单元的属性相同的候选数据单元;
其中,所述对所述多个候选数据单元进行排序的步骤还包括:对与所述搜索请求者的数据单元的属性相同的候选数据单元和其余候选数据单元分别进行排序。
6.根据权利要求1至5任意一项所述的对搜索结果进行排序的方法,其中,所述层级结构数据是树型结构数据。
7.一种用于对搜索结果进行排序的排序装置,其中上述搜索结果包括来自层级结构数据的多个候选数据单元,并且所述层级结构数据还包括与搜索请求者对应的数据单元,所述排序装置包括:
相关距离计算单元,用于根据所述层级结构数据,计算所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的相关距离,所述相关距离表示所述层级结构数据中的数据单元之间的相关性;以及
排序单元,用于按照所述相关距离对所述多个候选数据单元进行排序。
8.根据权利要求7所述的用于对搜索结果进行排序的排序装置,其中,所述相关距离计算单元包括:
路径查找单元,用于查找所述层级结构数据中所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的路径;以及
计算单元,用于计算每一条所述路径的长度,作为所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的相关距离。
9.根据权利要求7所述的用于对搜索结果进行排序的排序装置,其中,所述相关距离计算单元包括:
路径获取单元,用于在所述层级结构数据中获取从所述搜索请求者的数据单元到根节点数据单元的搜索请求者路径以及从所述多个候选数据单元的每一个到根节点数据单元的路径;
识别单元,用于识别位于所述搜索请求者路径与所述多个候选数据单元的每一个的路径的交叉处的数据单元;以及
计算单元,用于计算所述搜索请求者的数据单元与所识别的交叉处的数据单元之间的间隔,作为所述搜索请求者的数据单元与所述多个候选数据单元中相应的候选数据单元之间的相关距离。
10.根据权利要求7至9任意一项所述的用于对搜索结果进行排序的排序装置,其中,上述搜索结果还包括与上述多个候选数据单元的每一个相对应的权重;
所述排序单元用于按照所述搜索请求者的数据单元与所述多个候选数据单元的每一个之间的相关距离以及所述多个候选数据单元的每一个所对应的权重,对所述多个候选数据单元进行排序。
11.根据权利要求7至10任意一项所述的用于对搜索结果进行排序的排序装置,还包括:
属性匹配单元,用于查找所述多个候选数据单元中与所述搜索请求者的数据单元的属性相同的候选数据单元;
其中,所述排序单元用于将与所述搜索请求者的数据单元的属性相同的候选数据单元和其余候选数据单元分别进行排序。
12.根据权利要求7至11任意一项所述的用于对搜索结果进行排序的排序装置,其中,所述层级结构数据是树型结构数据。
13.一种基于层级结构数据的搜索方法,其中所述层级结构数据包括与搜索请求者对应的数据单元,所述搜索方法包括:
接收来自搜索请求者的搜索请求,所述搜索请求包含唯一识别所述搜索请求者的识别信息和搜索标准;
根据所述搜索请求,在所述层级结构数据中搜索与所述识别信息对应的搜索请求者的数据单元和符合所述搜索标准的搜索结果;以及
利用权利要求1至6任意一项所述的对搜索结果进行排序的方法,对所述搜索结果进行排序。
14.一种基于层级结构数据的搜索引擎,其中所述层级结构数据包括与搜索请求者对应的数据单元,所述搜索引擎包括:
搜索请求接收装置,用于接收来自搜索请求者的搜索请求,所述搜索请求包含唯一识别所述搜索请求者的识别信息和搜索标准;
搜索装置,用于根据所述搜索请求,在所述层级结构数据中搜索与所述识别信息对应的搜索请求者的数据单元和符合所述搜索标准的搜索结果;以及
如权利要求7至12任意一项所述的用于对搜索结果进行排序的排序装置,用于对所述搜索结果进行排序。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101849627A CN101425068B (zh) | 2007-10-30 | 2007-10-30 | 对搜索结果进行排序的方法及排序装置 |
US12/261,491 US20090112855A1 (en) | 2007-10-30 | 2008-10-30 | Method for ordering a search result and an ordering apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101849627A CN101425068B (zh) | 2007-10-30 | 2007-10-30 | 对搜索结果进行排序的方法及排序装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101425068A true CN101425068A (zh) | 2009-05-06 |
CN101425068B CN101425068B (zh) | 2011-05-11 |
Family
ID=40584198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101849627A Expired - Fee Related CN101425068B (zh) | 2007-10-30 | 2007-10-30 | 对搜索结果进行排序的方法及排序装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090112855A1 (zh) |
CN (1) | CN101425068B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103615B (zh) * | 2009-12-21 | 2014-03-26 | 北大方正集团有限公司 | 一种检索结果三段式有序收集方法及系统 |
CN105224556A (zh) * | 2014-06-13 | 2016-01-06 | 腾讯科技(北京)有限公司 | 瀑布流界面显示方法及装置 |
CN108733686A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 信息处理方法和设备 |
CN112540977A (zh) * | 2019-09-23 | 2021-03-23 | 伊姆西Ip控股有限责任公司 | 用于管理应用系统的多个用户的方法、设备和产品 |
WO2023173821A1 (zh) * | 2022-03-15 | 2023-09-21 | 华为云计算技术有限公司 | 一种集成开发环境搜索数据的方法和相关设备 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112012004255B1 (pt) * | 2009-08-31 | 2021-01-26 | Verso Paper Holding Llc | meio de gravação a jato de tinta |
US8577873B2 (en) | 2011-03-30 | 2013-11-05 | Indian Statistical Institute | Determining a relative importance among ordered lists |
CN104933149B (zh) * | 2015-06-23 | 2018-08-14 | 郑州悉知信息科技股份有限公司 | 一种信息搜索方法及装置 |
CN104881504B (zh) * | 2015-06-23 | 2018-08-14 | 郑州悉知信息科技股份有限公司 | 一种信息搜索方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6832245B1 (en) * | 1999-12-01 | 2004-12-14 | At&T Corp. | System and method for analyzing communications of user messages to rank users and contacts based on message content |
US7167910B2 (en) * | 2002-02-20 | 2007-01-23 | Microsoft Corporation | Social mapping of contacts from computer communication information |
US9633331B2 (en) * | 2003-03-31 | 2017-04-25 | International Business Machines Corporation | Nearest known person directory function |
CN1567307A (zh) * | 2003-06-25 | 2005-01-19 | 北京法海信息咨询有限公司 | 数据排序显示方法 |
US20070198178A1 (en) * | 2004-03-31 | 2007-08-23 | Trimby Martin W | Pathfinding system |
-
2007
- 2007-10-30 CN CN2007101849627A patent/CN101425068B/zh not_active Expired - Fee Related
-
2008
- 2008-10-30 US US12/261,491 patent/US20090112855A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103615B (zh) * | 2009-12-21 | 2014-03-26 | 北大方正集团有限公司 | 一种检索结果三段式有序收集方法及系统 |
CN105224556A (zh) * | 2014-06-13 | 2016-01-06 | 腾讯科技(北京)有限公司 | 瀑布流界面显示方法及装置 |
CN105224556B (zh) * | 2014-06-13 | 2019-11-26 | 腾讯科技(北京)有限公司 | 瀑布流界面显示方法及装置 |
CN108733686A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 信息处理方法和设备 |
CN112540977A (zh) * | 2019-09-23 | 2021-03-23 | 伊姆西Ip控股有限责任公司 | 用于管理应用系统的多个用户的方法、设备和产品 |
WO2023173821A1 (zh) * | 2022-03-15 | 2023-09-21 | 华为云计算技术有限公司 | 一种集成开发环境搜索数据的方法和相关设备 |
Also Published As
Publication number | Publication date |
---|---|
US20090112855A1 (en) | 2009-04-30 |
CN101425068B (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101425068B (zh) | 对搜索结果进行排序的方法及排序装置 | |
Yakout et al. | Infogather: entity augmentation and attribute discovery by holistic matching with web tables | |
CN107391687B (zh) | 一种面向地方志网站的混合推荐系统 | |
CN1728147B (zh) | 基于异类关系确定目标相似性的方法和系统 | |
US8468156B2 (en) | Determining a geographic location relevant to a web page | |
US7702685B2 (en) | Querying social networks | |
US8429147B1 (en) | Federation for parallel searching | |
US8521764B2 (en) | Query rewriting with entity detection | |
US20170140059A1 (en) | Knowledge-based entity detection and disambiguation | |
JP5597255B2 (ja) | 単語の重みに基づいた検索結果の順位付け | |
US20060253550A1 (en) | System and method for providing data for decision support | |
US8527487B2 (en) | Method and system for automatic construction of information organization structure for related information browsing | |
US20080195586A1 (en) | Ranking search results based on human resources data | |
US8812508B2 (en) | Systems and methods for extracting phases from text | |
US20100161592A1 (en) | Query Intent Determination Using Social Tagging | |
WO2012016457A1 (zh) | 一种数据源的选择方法及系统 | |
US20080147631A1 (en) | Method and system for collecting and retrieving information from web sites | |
CN101661490A (zh) | 搜索引擎、其客户端及搜索网页的方法 | |
CN111240558A (zh) | 一种信息搜索方法、装置、终端及存储介质 | |
CN105224555A (zh) | 一种搜索的方法、装置和系统 | |
CN109408713B (zh) | 一种基于用户反馈信息的软件需求检索系统 | |
EP2662785A2 (en) | A method and system for non-ephemeral search | |
Chan et al. | Web Services Recommendation Based on User's Behavior | |
KR101303363B1 (ko) | 데이터 처리 시스템 및 방법 | |
JP3526198B2 (ja) | データベース類似検索方法及び装置及び類似検索プログラムを格納した記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110511 Termination date: 20111030 |