The invention discloses a method and device for searching. The method includes: obtaining the first Hilbert code for representing the first region; in the case of no access to the geographical information, the first Hilbert code matches each element in the first set in turn, and the set of the successful elements is matched as the second set; the first terminal is obtained in turn. The distance between the location and the geographical position of each element in the second set; the element corresponding to the smallest distance as the target element; in the case of obtaining the geographic information, the first Hilbert code matches each element in the third set in turn, and the set of elements matched to the work is taken as the fourth set. In turn, the distance between the geographical position of the first terminal and the geographical position of each element in the fourth set is obtained in turn; the element corresponding to the minimum distance is used as the target element. The invention solves the technical problems that the existing technology can not search quickly and accurately.
【技术实现步骤摘要】
搜索方法和装置
本专利技术涉及搜索领域,具体而言,涉及一种搜索方法和装置。
技术介绍
用户搜索离自身最近的餐馆、银行、医院等的搜索问题可以归纳为NNS(NearestNeighborSearch)问题,一般称为最近邻问题。最近邻问题的数学表述是:在M空间中有集合S,和一个同属于M空间的查询点q,找出S中离q最近的点。以用户搜索最近的医院为例进行说明,假设用户所在的城市是北京市,现有技术中使用线性搜索方法,即,利用用户的经纬度信息和医院的经纬度信息,依次计算用户与北京市每个医院之间的距离,选择出最小的距离对应的医院作为搜索结果,即,距离用户最近的医院。线性搜索方法简单可靠,但是有一个很大的缺点:当备选点很多(例如一个城市的医院数量非常多)时,这种搜索方法需要计算用户与每一个备选点之间的距离,计算量非常大,算法的时间复杂度线性增加,导致搜索速度慢。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种搜索方法和装置,以至少解决现有技术中无法快速、准确进行搜索的技术问题。根据本专利技术实施例的一个方面,提供了一种搜索方法,包括:获取用于表示第一区域的第一希尔伯特编码,其中,所述第一区域是第一终端所在的区域;判断是否获取到所述第一区域的地域信息;在未获取到所述第一区域的地域信息的情况下,将所述第一希尔伯特编码依次与第一集合中每个元素的希尔伯特编码进行匹配,将匹配成功的元素构成的集合作为第二集合,其中,所述第一集合是预设范围的地域中第一类别的元素的集合,所述第一类别是待搜索的目标元素的类别;依次获取所述第一终端的地理位置与所述第二集合中每 ...
【技术保护点】
1.一种搜索方法,其特征在于,包括:获取用于表示第一区域的第一希尔伯特编码,其中,所述第一区域是第一终端所在的区域;判断是否获取到所述第一区域的地域信息;在未获取到所述第一区域的地域信息的情况下,将所述第一希尔伯特编码依次与第一集合中每个元素的希尔伯特编码进行匹配,将匹配成功的元素构成的集合作为第二集合,其中,所述第一集合是预设范围的地域中第一类别的元素的集合,所述第一类别是待搜索的目标元素的类别;依次获取所述第一终端的地理位置与所述第二集合中每个元素的地理位置之间的距离;将最小的距离对应的元素作为所述目标元素;在获取到所述第一区域的地域信息的情况下,将所述第一希尔伯特编码依次与第三集合中每个元素的希尔伯特编码进行匹配,将匹配成功的元素构成的集合作为第四集合,其中,所述第三集合是所述第一区域所处的地域中所述第一类别的元素的集合,所述预设范围的地域包括所述第一区域所处的地域;依次获取所述第一终端的地理位置与所述第四集合中每个元素的地理位置之间的距离;将最小的距离对应的元素作为所述目标元素。
【技术特征摘要】
1.一种搜索方法,其特征在于,包括:获取用于表示第一区域的第一希尔伯特编码,其中,所述第一区域是第一终端所在的区域;判断是否获取到所述第一区域的地域信息;在未获取到所述第一区域的地域信息的情况下,将所述第一希尔伯特编码依次与第一集合中每个元素的希尔伯特编码进行匹配,将匹配成功的元素构成的集合作为第二集合,其中,所述第一集合是预设范围的地域中第一类别的元素的集合,所述第一类别是待搜索的目标元素的类别;依次获取所述第一终端的地理位置与所述第二集合中每个元素的地理位置之间的距离;将最小的距离对应的元素作为所述目标元素;在获取到所述第一区域的地域信息的情况下,将所述第一希尔伯特编码依次与第三集合中每个元素的希尔伯特编码进行匹配,将匹配成功的元素构成的集合作为第四集合,其中,所述第三集合是所述第一区域所处的地域中所述第一类别的元素的集合,所述预设范围的地域包括所述第一区域所处的地域;依次获取所述第一终端的地理位置与所述第四集合中每个元素的地理位置之间的距离;将最小的距离对应的元素作为所述目标元素。2.根据权利要求1所述的方法,其特征在于,将所述第一希尔伯特编码依次与第一集合中每个元素的希尔伯特编码进行匹配包括:将1赋值给变量i,所述变量i为将两个希尔伯特编码进行匹配的前缀的位数;重复执行以下步骤,直至匹配成功的元素的数量小于等于第一预设数量,其中,所述第一预设数量小于所述第一集合中元素的数量:依次将所述第一集合中每一个元素的希尔伯特编码的前i位与所述第一希尔伯特编码的前i位进行匹配,得到所述第一集合中匹配成功的元素的数量;判断匹配成功的元素的数量是否小于等于所述第一预设数量;如果判断结果为否,将i+1的值赋给i。3.根据权利要求1所述的方法,其特征在于,将所述第一希尔伯特编码依次与第三集合中每个元素的希尔伯特编码进行匹配包括:将1赋值给变量i,所述变量i为将两个希尔伯特编码进行匹配的前缀的位数;重复执行以下步骤,直至匹配成功的元素的数量小于等于第一预设数量,其中,所述第一预设数量小于所述第一集合中元素的数量:依次将所述第三集合中每一个元素的希尔伯特编码的前i位与所述第一希尔伯特编码的前i位进行匹配,得到所述第三集合中匹配成功的元素的数量;判断匹配成功的元素的数量是否小于等于所述第一预设数量;如果判断结果为否,将i+1的值赋给i。4.根据权利要求2所述的方法,其特征在于,按照以下方法依次将所述第一集合中每一个元素的希尔伯特编码的前i位与所述第一希尔伯特编码的前i位进行匹配:将第一元素的希尔伯特编码的前i位字符与所述第一希尔伯特编码的前i位字符一一进行比较,其中,所述第一元素是所述第一集合中的任意一个元素;如果所述第一元素的希尔伯特编码的前i位字符与所述第一希尔伯特编码的前i位字符相同,确定所述第一元素与所述第一区域匹配成功;如果所述第一元素的希尔伯特编码的前i位字符与所述第一希尔伯特编码的前i位字符不相同,确定所述第一元素与所述第一区域匹配失败。5.根据权利要求1所述的方法,其特征在于,在将最小的距离对应的元素作为所述目标元素之后,所述方法还包括:将所述第一希尔伯特编码与所述目标元素进行关联,得到关联关系;存储所述关联关系,其中,所述关联关系用于提供给所述第一区域内的多个终端,以便所述多个终端根据所述关联关系确定所述目标元素。6.根据权利要求5所述的方法,其特征在于,在将所述第一希尔伯特编码依次与第一集合中每个元素的希尔伯特编码进行匹配之前,或者,在将所述第一希尔伯特编码依次与第三集合中每个元素的希尔伯特编码进行匹配之前,所述方法还包括:判断是否存储有所述关联关系;如果存储有所述关联关系,根据所述关联关系确定所述目标元素;如果未存储所述关联关系,则确定将所述第一希尔伯特编码依次与所述第一集合中每个元素的希尔伯特编码进行匹配。7.根据权利要求1所述的方法,其特征在于,获取用于表示第一区域的第一希尔伯特编码,包括:获取所述第一终端所在地理位置的经度信息和纬度信息;根据所述经度信息和所述纬度信息确定所述第一区域;计算所述第一区域的希尔伯特编码,得到所述第一希尔伯特编码。8.一种搜索装置,其特征在于,包括:第一获取单元,用于获取用于表示第一区域的第一希尔伯特编码,其中,所述...
【专利技术属性】
技术研发人员:管蓉,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。