Ranked反近鄰空間關鍵字查詢方法及裝置的制造方法
【技術領域】
[0001]本申請涉及近鄰查詢技術領域,更具體地,涉及Ranked反近鄰空間關鍵字查詢方法及裝置。
【背景技術】
[0002]近年來,反K近鄰查詢是一種常用的數據查詢方法,用于依據預先設置的查詢目標,對大量的數據進行分析判斷,以查詢出與查詢目標具有關聯關系的數據。具體地,反K近鄰查詢方法的一個應用領域是,對大量具有空間特征的文本屬性進行查詢,獲得與某個空間地點具有關聯性的文本屬性。
[0003]例如,人們可以發布微博,評論,簽到等數據,這些數據通常帶有地理位置信息和文本描述。這些數據中隱含著潛在信息,例如假設想要對某些用戶推送A餐廳的就餐信息,則可以使用反K近鄰查詢方法來查詢出哪些用戶是A餐廳的潛在用戶,具體地,反K近鄰空間關鍵字查詢查找距離A餐廳附近,且內容是對A餐廳食物進行評論的微博,將發布這些微博數據的用戶作為目標用戶。在該查詢場景中,A餐廳及A餐廳的地址即是查詢目標信息,微博及微博的發布地址即是待查詢數據。
[0004]然而,目前幾種常見的反K近鄰查詢方法并不能確定查詢結果對查詢條件的影響程度。
【發明內容】
[0005]有鑒于此,本申請提供了一種基于Ranked反k近鄰空間關鍵字查詢的Ranked反近鄰空間關鍵字查詢方法,可以將查詢結果按照對查詢的影響程度大小進行排序。另外,本申請還提供了一種Ranked反近鄰空間關鍵字查詢裝置,用以保證所述方法在實際中的應用及實現。
[0006]為實現所述目的,本申請提供的技術方案如下:
[0007]本申請的第一方面提供了一種Ranked反近鄰空間關鍵字查詢方法,包括:
[0008]獲取預先構建的倒排索引及查詢條件;其中,所述倒排索引是為源數據集構建的倒排索引,所述源數據集中包括若干源數據,源數據包含文本屬性及空間屬性,所述倒排索引用于記錄文本屬性與源數據之間的映射關系,所述查詢條件中包含查詢關鍵字和空間信息;
[0009]利用所述倒排索引,在所述源數據集中,查找包含所述查詢關鍵字的目標源數據,并將查找到的目標源數據確定為候選數據;;
[0010]利用預先構建的R-tree樹形索引,確定各個所述候選數據與所述查詢條件在空間距離上的遠近順序,并按照從近到遠的順序,在所述R-tree樹形索引中,依次查找各個所述候選數據所在的目標葉子節點;其中,所述R-tree樹形索引是依據所述源數據集中的空間屬性構建的空間索引,記錄所述源數據集中各個源數據之間的距離關系;
[0011]依據二分面垂直面算法,計算所述目標葉子節點包含的所述候選數據對所述查詢條件的空間影響度;
[0012]依據空間影響度的大小,對所述若干候選數據進行排序,并依據空間影響度的大小排序,將排序在前或在后的預設數量的所述候選數據確定為目標數據。
[0013]本申請的第二方面提供了一種Ranked反近鄰空間關鍵字查詢方法,包括:
[0014]獲取預先構建的InvSR-tree混合樹形索引及查詢條件;其中,所述InvSR-tree混合樹形索引在R-tree樹形索引的每個節點具有各自的簽名文件,簽名文件是由節點包含的源數據的文本屬性生成的簽名文件,所述查詢條件中包含查詢關鍵字及空間信息,且InvSR-tree混合樹形索引的每個葉子節點具有各自的倒排索引,倒排索引用于記錄葉子節點包含的源數據的文本屬性與源數據之間的映射關系;
[0015]在所述InvSR-tree混合樹形索引中,查找與所述空間信息距離滿足預設距離條件、且簽名文件中包含所述查詢關鍵字的目標葉子節點;
[0016]加載所述目標葉子節點的目標倒排索引,并在所述目標倒排索引中,查找包含所述查詢關鍵字的目標文本屬性,并將所述目標文本屬性映射的源數據確定為候選數據;
[0017]依據二分面垂直面算法,計算所述候選數據對所述查詢條件的空間影響度,在所述候選數據為多個的情況下,依據空間影響度的大小,對多個所述候選數據進行排序,并將排序在前或在后的預設數量的所述候選數據確定為目標數據。
[0018]本申請的第三方面提供了一種Ranked反近鄰空間關鍵字查詢裝置,包括:
[0019]第一倒排索引及查詢獲取模塊,用于獲取預先構建的倒排索引及查詢條件;其中,所述倒排索引是為源數據集構建的倒排索引,所述源數據集中包括若干源數據,源數據包括文本屬性及空間屬性,所述倒排索引用于記錄文本屬性與源數據之間的映射關系,所述查詢條件中包含查詢關鍵字及空間信息;
[0020]第一候選數據查找模塊,用于利用所述倒排索引,在所述源數據集中,查找包含所述查詢關鍵字的目標源數據,并將查找到的目標源數據確定為候選數據;
[0021]第一目標葉子節點確定模塊,用于利用預先構建的R-tree樹形索引,確定各個所述候選數據與所述查詢條件在空間距離上的遠近順序,并按照從近到遠的順序,在所述R-tree樹形索引中,依次查找各個所述候選數據所在的目標葉子節點;其中,所述R-tree樹形索引是依據所述源數據集中的空間屬性構建的空間索引,記錄所述源數據集中各個源數據之間的距離關系;
[0022]第一空間影響度計算模塊,用于依據二分面垂直面算法,計算所述目標葉子節點包含的所述候選數據對所述查詢條件的空間影響度;
[0023]第一目標數據確定模塊,用于依據空間影響度的大小,對所述若干候選數據進行排序,并依據空間影響度的大小排序,將排序在前或在后的預設數量的所述候選數據確定為目標數據。
[0024]本申請的第四方面提供了一種Ranked反近鄰空間關鍵字查詢裝置,包括:
[0025]第二倒排索引及查詢獲取模塊,用于獲取預先構建的InvSR-tree混合樹形索引及查詢條件;其中,所述InvSR-tree混合樹形索引在R-tree樹形索引的每個節點具有各自的簽名文件,簽名文件是由節點包含的源數據的文本屬性生成的簽名文件,所述查詢條件中包含查詢關鍵字及空間信息,且InvSR-tree混合樹形索引的每個葉子節點具有各自的倒排索引,倒排索引用于記錄葉子節點包含的源數據的文本屬性與源數據之間的映射關系;
[0026]第二目標葉子節點確定模塊,用于在所述InvSR-tree混合樹形索引中,查找與所述空間信息距離滿足預設距離條件、且簽名文件中包含所述查詢關鍵字的目標葉子節點;
[0027]第二候選數據查找模塊,用于加載所述目標葉子節點的目標倒排索引,并在所述目標倒排索引中,查找包含所述查詢關鍵字的目標文本屬性,并將所述目標文本屬性映射的源數據確定為候選數據;
[0028]第二目標數據確定模塊,用于依據二分面垂直面算法,計算所述候選數據對所述查詢條件的空間影響度,在所述候選數據為多個的情況下,依據空間影響度的大小,對多個所述候選數據進行排序,并將排序在前或在后的預設數量的所述候選數據確定為目標數據。
[0029]由以上技術方案可知,本申請提供了一種Ranked反近鄰空間關鍵字查詢方法,首先獲取倒排索引及查詢條件,查詢條件中包含查詢關鍵字及空間信息,在倒排索引中,查找包含查詢關鍵字的候選數據,利用預先構建的R-tree樹形索引,確定候選數據與查詢條件在空間距離上的遠近順序,并按照從近到遠的順序,在R-tree樹形索引中,依次查找各個候選數據所在的目標葉子節點,依據二分面垂直面算法,計算目標葉子節點包含的候選數據對查詢條件的空間影響度,依據空間影響度的大小,對若干候選數據進行排序,并依據空間影響度的大小排序,將排序在前或在后的預設數量的候選數據確定為目標數據。可見,本實施例利用倒排索引及R-tree樹形索引分別進行文本及空間剪枝,減少了查詢所用的數據,提高了查詢目標數據的效率,且可以查詢獲得預設數量的目標數據。
[0030]當然,實施本申請的任一產品并不一定需要同時達到以上所述的所有優點。
【附圖說明】
[0031]為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
[0032]圖1為本申請提供的Ranked反近鄰空間關鍵字查詢方法實施例1的流程圖;
[0033]圖2為本申請提供的源數據集的一個示例圖;
[0034]圖3為本申請提供的源數