本申請涉及搜索引擎
技術(shù)領(lǐng)域:
,尤其是涉及一種目標(biāo)位置搜索方法和裝置。
背景技術(shù):
:目前基于位置的目標(biāo)(比如商家)搜索的范圍一般多是以城市為維度。然而,這種方式往往容易導(dǎo)致返回的搜索結(jié)果過多或過少。如果搜索后的返回結(jié)果過多,則一方面會對系統(tǒng)性能造成很大的影響;另一方面,過多的返回結(jié)果往往可能包含了較多的用戶并不希望的內(nèi)容。當(dāng)然,如果返回的搜索結(jié)果過少,則可能遺漏了很多用戶需要或感興趣的內(nèi)容,也會降低用戶體驗。因此,在目標(biāo)位置搜索時,如何精確控制返回的搜索結(jié)果的集合大小,是目前亟待解決的技術(shù)問題。技術(shù)實現(xiàn)要素:本申請實施例的目的在于提供一種目標(biāo)位置搜索方法和裝置,以精確控制返回的搜索結(jié)果的集合大小,提高用戶體驗。為達到上述目的,一方面,本申請實施例提供了一種目標(biāo)位置搜索方法,包括以下步驟:確定目標(biāo)搜索請求所指定的位置;確定所述位置在預(yù)設(shè)的網(wǎng)格化位置區(qū)域中所對應(yīng)的網(wǎng)格;確定所述網(wǎng)格在預(yù)設(shè)的網(wǎng)格與最優(yōu)搜索半徑對應(yīng)關(guān)系中所對應(yīng)的最優(yōu)搜索半徑;以所述最優(yōu)搜索半徑對目標(biāo)進行搜索,獲得返回結(jié)果。另一方面,本申請實施例還提供一種目標(biāo)位置搜索裝置,包括:位置確定模塊,用于確定目標(biāo)搜索請求所指定的位置;網(wǎng)格確定模塊,用于確定所述位置在預(yù)設(shè)的網(wǎng)格化位置區(qū)域中所對應(yīng)的網(wǎng)格;搜索范圍確定模塊,用于確定所述網(wǎng)格在預(yù)設(shè)的網(wǎng)格與最優(yōu)搜索半徑對應(yīng)關(guān)系中 所對應(yīng)的最優(yōu)搜索半徑;返回結(jié)果獲取模塊,用于以所述最優(yōu)搜索半徑對目標(biāo)進行搜索,獲得返回結(jié)果。本申請實施例中,由于預(yù)先基于歷史搜索數(shù)據(jù)把熱門位置映射成為網(wǎng)格化位置區(qū)域,并計算出網(wǎng)格化位置區(qū)域中每個矩形網(wǎng)格的最優(yōu)搜索半徑,每個矩形網(wǎng)格的最優(yōu)搜索半徑則代表了該矩形網(wǎng)格內(nèi)所有位置的最優(yōu)搜索半徑,這樣,由于每個熱門位置與其最優(yōu)搜索半徑的對應(yīng)關(guān)系都是預(yù)先確定好的,當(dāng)收到對某一熱門位置的搜索時,依據(jù)該對應(yīng)關(guān)系就可以快速確定該熱門位置最優(yōu)搜索半徑,從而使得以該最優(yōu)搜索半徑進行搜索時可以獲得較為理想的搜索結(jié)果,因此本申請實例有效控制了返回的搜索結(jié)果的集合的大小,提高了用戶體驗,并且極大的提升了搜索引擎的性能。附圖說明此處所說明的附圖用來提供對本申請實施例的進一步理解,構(gòu)成本申請實施例的一部分,并不構(gòu)成對本申請實施例的限定。在附圖中:圖1為本申請實施例的目標(biāo)位置搜索方法的流程圖;圖2為本申請實施例的目標(biāo)位置搜索方法中網(wǎng)格化位置區(qū)域示意圖;圖3為本申請實施例中預(yù)先以半徑遞增方式進行目標(biāo)搜索的示意圖;圖4為本申請實施例的目標(biāo)位置搜索裝置的結(jié)構(gòu)框圖。具體實施方式為使本申請實施例的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合實施例和附圖,對本申請實施例做進一步詳細(xì)說明。在此,本申請實施例的示意性實施例及其說明用于解釋本申請實施例,但并不作為對本申請實施例的限定。下面結(jié)合附圖,對本申請實施例的具體實施方式作進一步的詳細(xì)說明。參考圖1所示,本申請實施例的目標(biāo)位置搜索方法包括以下步驟:步驟s101,確定目標(biāo)搜索請求所指定的位置。本申請實施例中,所述目標(biāo)搜索請求可以是用戶基于個人電腦、移動終端(比如智能手機、平板電腦)等發(fā)起的。所述目標(biāo)搜索請求例如可以為商家搜索請求。一般的,目標(biāo)搜索請求中會包含有指定的位置。在本申請的一個實施例中,所述指定的位置可以為具體的經(jīng)緯度數(shù)據(jù);在本申請的另一個實施例中,所述指定的位置也可以為地點名稱或標(biāo)識(比如北京地鐵1號線西單站),然后依據(jù)該地點名稱或標(biāo)識獲取其具體的經(jīng)緯度數(shù)據(jù)。步驟s102,確定所述位置在預(yù)設(shè)的網(wǎng)格化位置區(qū)域中所對應(yīng)的網(wǎng)格。本申請實施例中,所述網(wǎng)格化位置區(qū)域可預(yù)先通過以下方式得到:1)、在設(shè)定區(qū)域內(nèi),確定系統(tǒng)在設(shè)定歷史時間范圍內(nèi)接收到的所有目標(biāo)搜索請求所指定的經(jīng)緯度信息。比如,通過odps(opendataprocessingservice,開方數(shù)據(jù)處理服務(wù))系統(tǒng),離線獲取近7天內(nèi),針對北京市內(nèi)所有商家搜索的pv(pageview,頁面訪問量)日志,并從所述7天pv日志(即歷史搜索數(shù)據(jù))中統(tǒng)計出該段時間內(nèi)針對北京市內(nèi)所有商家搜索所指定的經(jīng)緯度信息。2)、根據(jù)geohash算法將所述經(jīng)緯度信息映射為長寬相等的矩形網(wǎng)格位置區(qū)域。在本申請一個實施例中,如圖2所示,可以根據(jù)geohash算法將設(shè)定區(qū)域內(nèi),系統(tǒng)在設(shè)定歷史時間范圍內(nèi)接收到的所有目標(biāo)搜索請求所指定的熱門位置的經(jīng)緯度信息映射為長寬相等的矩形網(wǎng)格位置區(qū)域,這樣以較小的系統(tǒng)開銷滿足絕大多數(shù)位置的目標(biāo)搜索需求。其中,所述的熱門位置例如為搜索量較大的地方,具體實施時,所述的熱門位置可以通過設(shè)定閾值判斷。而在本申請另一實施例中,還可以將設(shè)定區(qū)域的地圖(map)按照設(shè)定的規(guī)則均勻網(wǎng)格化,只是這樣以來,存儲那些冷門位置的網(wǎng)格會浪費存儲空間等系統(tǒng)資源。其中,所述的冷門位置例如為未被搜索過或搜索量很小的地方,具體實施時,所述的冷門位置可以通過設(shè)定閾值判斷。步驟s103,確定所述網(wǎng)格在預(yù)設(shè)的網(wǎng)格與最優(yōu)搜索半徑對應(yīng)關(guān)系中所對應(yīng)的最優(yōu)搜索半徑。本申請實施例中,所述最優(yōu)搜索半徑預(yù)先通過以下方式得到:分別以所述網(wǎng)格化位置區(qū)域中每個網(wǎng)格的中心點為圓點,并以半徑遞增方式進行目標(biāo)搜索,逐個獲取所述每個網(wǎng)格的達到預(yù)設(shè)返回數(shù)量閾值時的返回結(jié)果所對應(yīng)的最小搜索半徑,并將所述最小搜索半徑作為該網(wǎng)格的最優(yōu)搜索半徑。以圖2中的wx4g0網(wǎng)格為例,其中,wx4g0為網(wǎng)格化位置區(qū)域中某個網(wǎng)格的geohash編碼值。以該網(wǎng)格的中心點為源點,依次可以以100米、200米、300米等由小到大逐漸遞增的順序作為搜索半徑進行循環(huán)搜索(如圖3所示),從而可計算出 wx4g0網(wǎng)格的達到預(yù)設(shè)返回數(shù)量閾值時的返回結(jié)果所對應(yīng)的最小搜索半徑,并將該最小搜索半徑作為該網(wǎng)格的最優(yōu)搜索半徑。以此類推,由此可以計算出圖2上所有g(shù)eohash編碼值(即網(wǎng)格化位置區(qū)域中所有網(wǎng)格)的達到預(yù)設(shè)返回數(shù)量閾值時的返回結(jié)果所對應(yīng)的最優(yōu)搜索半徑。因此,本申請實施例可預(yù)先得到設(shè)定區(qū)域內(nèi),網(wǎng)格化位置區(qū)域中所有網(wǎng)格與最優(yōu)搜索半徑對應(yīng)關(guān)系,即得到以geohash編碼值為key,以最優(yōu)搜索半徑為value的數(shù)據(jù),如下表1所示:表1keyvaluewx4er500mwx4g2600mwx4g32700mwx4ep800mwx4g0900mwx4g11000mwx4dz400mwx4fb1200mwx4fc800m在本申請另一實施例中,也可以采用其他方式(比如由大到小的搜索半徑順序)進行循環(huán)搜索,但是,這樣其找出最優(yōu)搜索半徑所需的循環(huán)搜索次數(shù)可能會較多,效率上一般不如上述由小到大的逐漸遞增方式。步驟s104,以所述最優(yōu)搜索半徑對目標(biāo)進行搜索,獲得返回結(jié)果。在本申請實施例中,所述以最優(yōu)搜索半徑進行搜索是指:以所述搜索目標(biāo)所指定的位置為圓點,以所述搜索目標(biāo)的最優(yōu)搜索半徑為搜索半徑進行搜索。在本申請另一實施例中,由于每個熱門位置的最優(yōu)半徑范圍內(nèi)的商家集合可能發(fā)生變,在步驟s104之后,還可以包括以下步驟:判斷所述返回結(jié)果中的返回數(shù)量是否低于預(yù)設(shè)的返回數(shù)量下限;如果低于所述返回數(shù)量下限,則以逐漸擴大所述搜索目標(biāo)的搜索半徑方式進行搜索,直至當(dāng)前返回結(jié)果中的返回數(shù)量達到所述返回數(shù)量下限為止,以利于提高返回效果的準(zhǔn)確性。此外,在本申請另一實施例中,所述預(yù)設(shè)的網(wǎng)格化位置區(qū)域,以及所述預(yù)設(shè)的網(wǎng) 格化位置區(qū)域中的網(wǎng)格與其最優(yōu)搜索半徑的對應(yīng)關(guān)系可以定期更新(比如每天更新一次或者每周更新一次,等等),以適應(yīng)熱門位置附近的目標(biāo)信息變化(比如商場、超市、飯店等商家變動),從而有利于提高返回效果的準(zhǔn)確性。本申請實施例中,由于預(yù)先基于歷史搜索數(shù)據(jù)把熱門位置映射成為網(wǎng)格化位置區(qū)域,并計算出網(wǎng)格化位置區(qū)域中每個矩形網(wǎng)格的最優(yōu)搜索半徑,每個矩形網(wǎng)格的最優(yōu)搜索半徑則代表了該矩形網(wǎng)格內(nèi)所有位置的最優(yōu)搜索半徑,這樣,由于每個熱門位置與其最優(yōu)搜索半徑的對應(yīng)關(guān)系都是預(yù)先確定好的,當(dāng)收到對某一熱門位置的搜索時,依據(jù)該對應(yīng)關(guān)系就可以快速確定該熱門位置最優(yōu)搜索半徑,從而使得以該最優(yōu)搜索半徑進行搜索時可以獲得較為理想的搜索結(jié)果,因此本申請實例有效控制了返回的搜索結(jié)果的集合的大小,提高了用戶體驗,并且極大的提升了搜索引擎的性能。雖然上文描述的過程流程包括以特定順序出現(xiàn)的多個操作,但是,應(yīng)當(dāng)清楚了解,這些過程可以包括更多或更少的操作,這些操作可以順序執(zhí)行或并行執(zhí)行(例如使用并行處理器或多線程環(huán)境)。結(jié)合圖4所示,本申請實施例的目標(biāo)位置搜索裝置包括:位置確定模塊41,用于確定目標(biāo)搜索請求所指定的位置。本申請實施例中,所述目標(biāo)搜索請求可以是用戶基于個人電腦、移動終端(比如智能手機、平板電腦)等發(fā)起的。所述目標(biāo)搜索請求例如可以為商家搜索請求。一般的,目標(biāo)搜索請求中會包含有指定的位置。在本申請的一個實施例中,所述指定的位置可以為具體的經(jīng)緯度數(shù)據(jù);在本申請的另一個實施例中,所述指定的位置也可以為地點名稱或標(biāo)識(比如北京地鐵1號線西單站),然后依據(jù)該地點名稱或標(biāo)識獲取其具體的經(jīng)緯度數(shù)據(jù)。網(wǎng)格確定模塊42,用于確定所述位置在預(yù)設(shè)的網(wǎng)格化位置區(qū)域中所對應(yīng)的網(wǎng)格。本申請實施例中,所述網(wǎng)格化位置區(qū)域可預(yù)先通過以下方式得到:1)、在設(shè)定區(qū)域內(nèi),確定系統(tǒng)在設(shè)定歷史時間范圍內(nèi)接收到的所有目標(biāo)搜索請求所指定的經(jīng)緯度信息。比如,通過odps系統(tǒng),離線獲取近7天內(nèi),針對北京市內(nèi)所有商家搜索的pv(pageview,頁面訪問量)日志,并從所述7天pv日志(即歷史搜索數(shù)據(jù))中統(tǒng)計出該段時間內(nèi)針對北京市內(nèi)所有商家搜索所指定的經(jīng)緯度信息。2)、根據(jù)geohash算法將所述經(jīng)緯度信息映射為長寬相等的矩形網(wǎng)格位置區(qū)域。在本申請一個實施例中,如圖2所示,可以根據(jù)geohash算法將設(shè)定區(qū)域內(nèi),系統(tǒng)在設(shè)定歷史時間范圍內(nèi)接收到的所有目標(biāo)搜索請求所指定的熱門位置的經(jīng)緯度信息映射為長寬相等的矩形網(wǎng)格位置區(qū)域,這樣以較小的系統(tǒng)開銷滿足絕大多數(shù)位置的目標(biāo)搜索需求。其中,所述的熱門位置例如為搜索量較大的地方,具體實施時,所述的熱門位置可以通過設(shè)定閾值判斷。而在本申請另一實施例中,還可以將設(shè)定區(qū)域的地圖(map)按照設(shè)定的規(guī)則均勻網(wǎng)格化,只是這樣以來,存儲那些冷門位置的網(wǎng)格會浪費存儲空間等系統(tǒng)資源。其中,所述的冷門位置例如為未被搜索過或搜索量很小的地方,具體實施時,所述的冷門位置可以通過設(shè)定閾值判斷。搜索范圍確定模塊43,用于確定所述網(wǎng)格在預(yù)設(shè)的網(wǎng)格與最優(yōu)搜索半徑對應(yīng)關(guān)系中所對應(yīng)的最優(yōu)搜索半徑。本申請實施例中,所述最優(yōu)搜索半徑預(yù)先通過以下方式得到:分別以所述網(wǎng)格化位置區(qū)域中每個網(wǎng)格的中心點為圓點,并以半徑遞增方式進行目標(biāo)搜索,逐個獲取所述每個網(wǎng)格的達到預(yù)設(shè)返回數(shù)量閾值時的返回結(jié)果所對應(yīng)的最小搜索半徑,并將所述最小搜索半徑作為該網(wǎng)格的最優(yōu)搜索半徑。以圖2中的wx4g0網(wǎng)格為例,其中,wx4g0為網(wǎng)格化位置區(qū)域中某個網(wǎng)格的geohash編碼值。以該網(wǎng)格的中心點為源點,依次可以以100米、200米、300米等由小到大逐漸遞增的順序作為搜索半徑進行循環(huán)搜索(如圖3所示),從而可計算出wx4g0網(wǎng)格的達到預(yù)設(shè)返回數(shù)量閾值時的返回結(jié)果所對應(yīng)的最小搜索半徑,并將該最小搜索半徑作為該網(wǎng)格的最優(yōu)搜索半徑。以此類推,由此可以計算出圖2上所有g(shù)eohash編碼值(即網(wǎng)格化位置區(qū)域中所有網(wǎng)格)的達到預(yù)設(shè)返回數(shù)量閾值時的返回結(jié)果所對應(yīng)的最優(yōu)搜索半徑。因此,本申請實施例可預(yù)先得到設(shè)定區(qū)域內(nèi),網(wǎng)格化位置區(qū)域中所有網(wǎng)格與最優(yōu)搜索半徑對應(yīng)關(guān)系,即得到以geohash編碼值為key,以最優(yōu)搜索半徑為value的數(shù)據(jù),如下表2所示:表2在本申請另一實施例中,也可以采用其他方式(比如由大到小的搜索半徑順序)進行循環(huán)搜索,但是,這樣其找出最優(yōu)搜索半徑所需的循環(huán)搜索次數(shù)可能會較多,效率上一般不如上述由小到大的逐漸遞增方式。返回結(jié)果獲取模塊44,用于以所述最優(yōu)搜索半徑對目標(biāo)進行搜索,獲得返回結(jié)果。在本申請實施例中,所述以最優(yōu)搜索半徑進行搜索是指:以所述搜索目標(biāo)所指定的位置為圓點,以所述搜索目標(biāo)的最優(yōu)搜索半徑為搜索半徑進行搜索。在本申請另一實施例中,所述的目標(biāo)位置搜索裝置還可以包括:返回結(jié)果優(yōu)化模塊45,用于在所述返回結(jié)果獲取模塊44獲得返回結(jié)果之后,判斷所述返回結(jié)果中的返回數(shù)量是否低于預(yù)設(shè)的返回數(shù)量下限;如果低于所述返回數(shù)量下限,則以逐漸擴大所述搜索目標(biāo)的搜索半徑方式進行搜索,直至當(dāng)前返回結(jié)果中的返回數(shù)量達到所述返回數(shù)量下限為止。此外,在本申請另一實施例中,所述預(yù)設(shè)的網(wǎng)格化位置區(qū)域,以及所述預(yù)設(shè)的網(wǎng)格化位置區(qū)域中的網(wǎng)格與其最優(yōu)搜索半徑的對應(yīng)關(guān)系可以定期更新(比如每天更新一次或者每周更新一次等等),以適應(yīng)熱門位置附近的目標(biāo)信息變化(比如商場、超市、飯店等商家變動),從而有利于保證返回效果的準(zhǔn)確性。本申請實施例中,由于預(yù)先基于歷史搜索數(shù)據(jù)把熱門位置映射成為網(wǎng)格化位置區(qū)域,并計算出網(wǎng)格化位置區(qū)域中每個矩形網(wǎng)格的最優(yōu)搜索半徑,每個矩形網(wǎng)格的最優(yōu)搜索半徑則代表了該矩形網(wǎng)格內(nèi)所有位置的最優(yōu)搜索半徑,這樣,由于每個熱門位置與其最優(yōu)搜索半徑的對應(yīng)關(guān)系都是預(yù)先確定好的,當(dāng)收到對某一熱門位置的搜索時,依據(jù)該對應(yīng)關(guān)系就可以快速確定該熱門位置最優(yōu)搜索半徑,從而使得以該最優(yōu)搜索半徑進行搜索時可以獲得較為理想的搜索結(jié)果,因此本申請實例有效控制了返回的搜索結(jié)果的集合的大小,提高了用戶體驗,并且極大的提升了搜索引擎的性能。本領(lǐng)域技術(shù)人員還可以了解到本申請實施例列出的各種說明性邏輯塊、單元和步驟可以通過硬件、軟件或兩者的結(jié)合來實現(xiàn)。至于是通過硬件還是軟件來實現(xiàn)取決于特定的應(yīng)用和整個系統(tǒng)的設(shè)計要求。本領(lǐng)域技術(shù)人員可以對于每種特定的應(yīng)用,可以使用各種方法實現(xiàn)所述的功能,但這種實現(xiàn)不應(yīng)被理解為超出本申請實施例保護的范圍。本申請實施例中所描述的各種說明性的邏輯塊,或單元都可以通過通用處理器,數(shù)字信號處理器,專用集成電路(asic),現(xiàn)場可編程門陣列或其它可編程邏輯裝置,離散門或晶體管邏輯,離散硬件部件,或上述任何組合的設(shè)計來實現(xiàn)或操作所描述的功能。通用處理器可以為微處理器,可選地,該通用處理器也可以為任何傳統(tǒng)的處理器、控制器、微控制器或狀態(tài)機。處理器也可以通過計算裝置的組合來實現(xiàn),例如數(shù)字信號處理器和微處理器,多個微處理器,一個或多個微處理器聯(lián)合一個數(shù)字信號處理器核,或任何其它類似的配置來實現(xiàn)。本申請實施例中所描述的方法或算法的步驟可以直接嵌入硬件、處理器執(zhí)行的軟件模塊、或者這兩者的結(jié)合。軟件模塊可以存儲于ram存儲器、閃存、rom存儲器、eprom存儲器、eeprom存儲器、寄存器、硬盤、可移動磁盤、cd-rom或本領(lǐng)域中其它任意形式的存儲媒介中。示例性地,存儲媒介可以與處理器連接,以使得處理器可以從存儲媒介中讀取信息,并可以向存儲媒介存寫信息??蛇x地,存儲媒介還可以集成到處理器中。處理器和存儲媒介可以設(shè)置于asic中,asic可以設(shè)置于用戶終端中。可選地,處理器和存儲媒介也可以設(shè)置于用戶終端中的不同的部件中。在一個或多個示例性的設(shè)計中,本申請實施例所描述的上述功能可以在硬件、軟件、固件或這三者的任意組合來實現(xiàn)。如果在軟件中實現(xiàn),這些功能可以存儲與電腦可讀的媒介上,或以一個或多個指令或代碼形式傳輸于電腦可讀的媒介上。電腦可讀媒介包括電腦存儲媒介和便于使得讓電腦程序從一個地方轉(zhuǎn)移到其它地方的通信媒介。存儲媒介可以是任何通用或特殊電腦可以接入訪問的可用媒體。例如,這樣的電腦可讀媒體可以包括但不限于ram、rom、eeprom、cd-rom或其它光盤存儲、磁盤存儲或其它磁性存儲裝置,或其它任何可以用于承載或存儲以指令或數(shù)據(jù)結(jié)構(gòu)和其它可被通用或特殊電腦、或通用或特殊處理器讀取形式的程序代碼的媒介。此外,任何連接都可以被適當(dāng)?shù)囟x為電腦可讀媒介,例如,如果軟件是從一個網(wǎng)站站點、服務(wù)器或其它遠(yuǎn)程資源通過一個同軸電纜、光纖電纜、雙絞線、數(shù)字用戶線(dsl) 或以例如紅外、無線和微波等無線方式傳輸?shù)囊脖话谒x的電腦可讀媒介中。所述的碟片(disk)和磁盤(disc)包括壓縮磁盤、鐳射盤、光盤、dvd、軟盤和藍光光盤,磁盤一般的,以磁性復(fù)制數(shù)據(jù),而碟片一般的,以激光進行光學(xué)復(fù)制數(shù)據(jù)。上述的組合也可以包含在電腦可讀媒介中。以上所述的具體實施例,對本申請的目的、技術(shù)方案和有益效果進行了進一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本申請實施例的具體實施例而已,并不用于限定本申請的保護范圍,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本申請的保護范圍之內(nèi)。當(dāng)前第1頁12