本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種檢索方法和檢索裝置。
背景技術(shù):
在很多的檢索場景中,用戶在互聯(lián)網(wǎng)搜索產(chǎn)品中輸入檢索詞時用戶的檢索意圖是模糊的。現(xiàn)有技術(shù)中,當(dāng)用戶在輸入檢索詞時,搜索引擎能夠根據(jù)用戶所輸入的檢索詞進(jìn)行智能聯(lián)想,以向用戶推薦與該檢索詞相關(guān)的檢索串。當(dāng)用戶選擇了其中一個推薦的檢索串并觸發(fā)內(nèi)容檢索時,得到該檢索串的檢索結(jié)果。
在上述流程中,在實(shí)現(xiàn)智能聯(lián)想時,需根據(jù)用戶輸入的檢索詞在索引數(shù)據(jù)庫中進(jìn)行檢索,以查找出與該檢索詞相關(guān)的檢索串;在實(shí)現(xiàn)內(nèi)容檢索時,需根據(jù)用戶選擇的檢索串在索引數(shù)據(jù)庫中進(jìn)行檢索,以查找出與該檢索串相關(guān)的檢索結(jié)果。
實(shí)際應(yīng)用中,在實(shí)現(xiàn)“智能聯(lián)想”的檢索和“內(nèi)容檢索”的檢索時,由于“智能聯(lián)想”在實(shí)現(xiàn)上多采用前綴分詞以及拼音分詞對數(shù)據(jù)進(jìn)行索引,而“內(nèi)容檢索”多采用正常分詞對數(shù)據(jù)進(jìn)行索引,因此在建立索引數(shù)據(jù)庫時,常對同樣的數(shù)據(jù)建立兩份索引數(shù)據(jù)庫。這導(dǎo)致存儲空間浪費(fèi)較大,也增加了運(yùn)營成本。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種檢索方法和檢索裝置,能夠避免存儲空間的浪費(fèi)。
本發(fā)明提供了一種檢索方法,包括:
獲取檢索請求,所述檢索請求包括檢索字符;
判斷所述檢索請求為對所述檢索字符進(jìn)行智能聯(lián)想還是進(jìn)行內(nèi)容檢索;
當(dāng)確定對所述檢索字符進(jìn)行智能聯(lián)想時,在索引數(shù)據(jù)庫的特定字段中對所述檢索字符進(jìn)行檢索;
當(dāng)確定對所述檢索字符進(jìn)行內(nèi)容檢索時,在所述索引數(shù)據(jù)庫中對所述檢索字符進(jìn)行檢索。
可選的,所述索引數(shù)據(jù)庫中所述特定字段的索引包括特定標(biāo)記;
所述獲取檢索請求,之后還包括:
在所述檢索請求的檢索字符中添加所述特定標(biāo)記,以使得在所述索引數(shù)據(jù)庫的特定字段中對所述檢索字符進(jìn)行檢索。
可選的,所述獲取檢索請求,之前還包括:
接收用戶對所述特定字段的內(nèi)容的選擇或者輸入;
在所述用戶選擇或者輸入的特定字段的索引中添加所述特定標(biāo)記。
可選的,所述在索引數(shù)據(jù)庫的特定字段中對所述檢索字符進(jìn)行檢索,之后還包括:
獲取用戶對往次智能聯(lián)想檢索結(jié)果的點(diǎn)擊歷史;
根據(jù)所述點(diǎn)擊歷史確定本次智能聯(lián)想檢索結(jié)果的優(yōu)先級排序;
根據(jù)所述本次智能聯(lián)想結(jié)果的優(yōu)先級排序?qū)λ霰敬沃悄苈?lián)想結(jié)果進(jìn)行顯示。
可選的,所述判斷所述檢索請求為對所述檢索字符進(jìn)行智能聯(lián)想還是進(jìn)行內(nèi)容檢索,之前還包括:
接收用戶對啟動智能聯(lián)想功能的選擇。
本發(fā)明還提供一種檢索裝置,包括:
第一獲取模塊,用于獲取檢索請求,所述檢索請求包括檢索字符;
判斷模塊,用于判斷所述檢索請求為對所述檢索字符進(jìn)行智能聯(lián)想還是進(jìn)行內(nèi)容檢索;
第一檢索模塊,用于當(dāng)確定對所述檢索字符進(jìn)行智能聯(lián)想時,在索引數(shù)據(jù)庫的特定字段中對所述檢索字符進(jìn)行檢索;
第二檢索模塊,用于當(dāng)確定對所述檢索字符進(jìn)行內(nèi)容檢索時,在所述索引數(shù)據(jù)庫中對所述檢索字符進(jìn)行檢索。
可選的,所述索引數(shù)據(jù)庫中所述特定字段的索引包括特定標(biāo)記;所述檢索裝置還包括:
修改模塊,用于在獲取檢索請求之后,在所述檢索請求的檢索字符中添 加所述特定標(biāo)記,以使得在所述索引數(shù)據(jù)庫的特定字段中對所述檢索字符進(jìn)行檢索。
可選的,所述檢索裝置還包括:
接收模塊,用于在獲取檢索請求之前,接收用戶對所述特定字段的內(nèi)容的選擇或者輸入;
索引模塊,用于在所述用戶選擇或者輸入的特定字段的索引中添加所述特定標(biāo)記。
可選的,所述檢索裝置還包括:
第二獲取模塊,用于在索引數(shù)據(jù)庫的特定字段中對所述檢索字符進(jìn)行檢索之后,獲取用戶對往次智能聯(lián)想檢索結(jié)果的點(diǎn)擊歷史;
排序模塊,用于根據(jù)所述點(diǎn)擊歷史確定本次智能聯(lián)想檢索結(jié)果的優(yōu)先級排序;
顯示模塊,用于根據(jù)所述本次智能聯(lián)想結(jié)果的優(yōu)先級排序?qū)λ霰敬沃悄苈?lián)想結(jié)果進(jìn)行顯示。
可選的,所述檢索裝置還包括:
啟動模塊,用于在判斷所述檢索請求為對所述檢索字符進(jìn)行智能聯(lián)想還是進(jìn)行內(nèi)容檢索之前,接收用戶對啟動智能聯(lián)想功能的選擇。
從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
本發(fā)明中,由于進(jìn)行智能聯(lián)想和進(jìn)行內(nèi)容檢索所用的索引數(shù)據(jù)庫為同一個索引數(shù)據(jù)庫,能夠避免存儲空間的浪費(fèi),降低運(yùn)營成本,同時,由于對智能聯(lián)想的搜索并不需要在索引數(shù)據(jù)庫的全部字段中進(jìn)行檢索,本實(shí)施例中,在進(jìn)行智能聯(lián)想的檢索時僅在索引數(shù)據(jù)庫的特定字段中進(jìn)行檢索,保證了智能聯(lián)想的檢索的效率。
附圖說明
圖1為本發(fā)明檢索方法的一個實(shí)施例的流程圖;
圖2為本發(fā)明的檢索裝置的一個實(shí)施例的結(jié)構(gòu)示意圖;
圖3為本發(fā)明的檢索裝置的另一個實(shí)施例的結(jié)構(gòu)示意圖;
圖4為本發(fā)明的檢索裝置的另一個實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“包括”和“具有”以及它們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備固有的其它步驟或單元。
區(qū)別于現(xiàn)有技術(shù)中智能聯(lián)想所使用的索引數(shù)據(jù)庫和內(nèi)容檢索所使用的索引數(shù)據(jù)庫為兩個不同的索引數(shù)據(jù)庫,本發(fā)明中,智能聯(lián)想所使用的分詞方式和索引分別和內(nèi)容檢索所使用的分詞方式和索引相同,因此智能聯(lián)想所使用的索引數(shù)據(jù)庫和內(nèi)容檢索所使用的索引數(shù)據(jù)庫為同一個索引數(shù)據(jù)庫。具體如何在同一個索引數(shù)據(jù)庫中進(jìn)行智能聯(lián)想和內(nèi)容檢索索引數(shù)據(jù)庫兩種不同的檢索,詳見圖1所示實(shí)施例的描述。
請參閱圖1,本發(fā)明實(shí)施例中檢索方法包括:
101、獲取檢索請求,所述檢索請求包括檢索字符。
本實(shí)施例中,當(dāng)用戶在檢索框中每輸入一個字符時,搜索引擎中的用戶接口會向檢索器發(fā)起一個檢索請求,該檢索請求包括檢索框中已經(jīng)輸入的字符或者字符串,用于請求在索引數(shù)據(jù)庫中查找該字符或者字符串。需注意的是,在用戶在檢索框中輸入字符的過程中,只要用戶接口還未接收到用戶對搜索按鈕的點(diǎn)擊,均可確認(rèn)用戶未完成對檢索詞的輸入,因此,此時用戶接口發(fā)起的檢索請求用于請求對用戶已經(jīng)輸入的字符或字符串的智能聯(lián)想的檢索,以便向用戶推薦用戶可能感興趣的檢索串。
當(dāng)用戶完成輸入要檢索的檢索串后,點(diǎn)擊搜索按鈕,以觸發(fā)對該檢索串的內(nèi)容檢索。當(dāng)用戶接口接收到用戶對搜索按鈕的點(diǎn)擊后,可確認(rèn)用戶已經(jīng)完成對檢索詞的輸入,因此,此時用戶接口發(fā)起的檢索請求用于請求對檢索 詞的內(nèi)容檢索。
102、判斷所述檢索請求為對所述檢索字符進(jìn)行智能聯(lián)想還是進(jìn)行內(nèi)容檢索。
在用戶點(diǎn)擊搜索按鈕前,用戶接口發(fā)起的檢索請求均為進(jìn)行智能聯(lián)想。在用戶點(diǎn)擊搜索按鈕后,用戶接口發(fā)起的檢索請求為進(jìn)行內(nèi)容檢索。實(shí)際應(yīng)用中,為了方便搜索引擎中的檢索器區(qū)分所獲取到的檢索請求為進(jìn)行智能聯(lián)想還是進(jìn)行內(nèi)容檢索,用戶接口所發(fā)起的檢索請求中一般攜帶有參數(shù)用來標(biāo)識該檢索請求的類別。舉例來說,進(jìn)行智能聯(lián)想的檢索請求中攜帶有參數(shù)is_smartbox=1,進(jìn)行內(nèi)容檢索的檢索請求中攜帶有參數(shù)is_smartbox=0。
檢索器在接收到用戶接口發(fā)送的檢索請求后,通過該檢索請求所攜帶的參數(shù)來判斷該檢索請求為對所述檢索字符進(jìn)行智能聯(lián)想還是進(jìn)行內(nèi)容檢索。
103、當(dāng)確定對所述檢索字符進(jìn)行智能聯(lián)想時,在索引數(shù)據(jù)庫的特定字段中對所述檢索字符進(jìn)行檢索。
檢索器根據(jù)獲取到檢索請求后,在索引數(shù)據(jù)庫中查找檢索請求所包含的檢索字符。由于進(jìn)行智能聯(lián)想的檢索并不需要在所有的字段中進(jìn)行,而是只需要在其中的一部分字段中進(jìn)行檢索,因此,本實(shí)施例中,當(dāng)確定對所述檢索字符進(jìn)行智能聯(lián)想時,在索引數(shù)據(jù)庫的特定字段中對所述檢索字符進(jìn)行檢索。
在索引數(shù)據(jù)庫的特定字段中對檢索字符進(jìn)行檢索的方法有多種。舉例來說,索引數(shù)據(jù)庫的特定字段的索引存儲在特定區(qū)域中,在對檢索字符進(jìn)行檢索時僅在該特定區(qū)域內(nèi)進(jìn)行檢索。
或者,數(shù)據(jù)庫內(nèi)特定字段的索引中還包含有特定標(biāo)記。檢索器在獲取到檢索請求后,在檢索請求中的檢索字符中添加該特定標(biāo)記,由于檢索出來的內(nèi)容需和檢索請求中的檢索字符一樣,因此檢索出來的內(nèi)容包含該特定標(biāo)記,也即檢索出來的內(nèi)容肯定屬于索引數(shù)據(jù)庫中的特定字段。
具體舉例來說,用戶輸入的檢索字符為“科技有限公司”。
若“科技有限公司”的分詞結(jié)果為“科技|有限|公司”,且“科技有限公司”不屬于特定字段,那么“科技有限公司”的索引為:“SM:科技|SM:有限|SM:公司”。
若所述特定標(biāo)記為“\0x3”,且“科技有限公司”屬于特定字段,那么“科技有限公司”的索引為:“SM:科技\0x3|SM:有限\0x3|SM:公司\0x3”。
當(dāng)然,上述僅為舉例,并不做限制。
104、當(dāng)確定對所述檢索字符進(jìn)行內(nèi)容檢索時,在所述索引數(shù)據(jù)庫中對所述檢索字符進(jìn)行檢索。
當(dāng)確認(rèn)要對檢索字符進(jìn)行內(nèi)容檢索時,在索引數(shù)據(jù)庫的全部字段中對檢索字符進(jìn)行檢索。
本實(shí)施例中,由于進(jìn)行智能聯(lián)想和進(jìn)行內(nèi)容檢索所用的索引數(shù)據(jù)庫為同一個索引數(shù)據(jù)庫,能夠避免存儲空間的浪費(fèi),降低運(yùn)營成本,同時,由于對智能聯(lián)想的搜索并不需要在索引數(shù)據(jù)庫的全部字段中進(jìn)行檢索,本實(shí)施例中,在進(jìn)行智能聯(lián)想的檢索時僅在索引數(shù)據(jù)庫的特定字段中進(jìn)行檢索,保證了智能聯(lián)想的檢索的效率。
本實(shí)施例中,索引數(shù)據(jù)庫的特定字段可以是默認(rèn)設(shè)置的??蛇x的,搜索引擎還可以接受用戶對所述特定字段的設(shè)置。舉例來說,在對特定字段的設(shè)置頁面上顯示有提供用戶選擇的多個特定字段的選項(xiàng),搜索引擎通過接受用戶對各選項(xiàng)的選擇來確定特定字段的具體內(nèi)容?;蛘撸趯μ囟ㄗ侄蔚脑O(shè)置頁面上顯示有輸入框,用戶可直接在該輸入框內(nèi)輸入內(nèi)容;搜索引擎通過接收用戶輸入的內(nèi)容來確定特定字段的具體內(nèi)容。當(dāng)然,上述僅為舉例,并不做限制。在搜索引擎更新特定字段后,搜索引擎還對索引數(shù)據(jù)庫進(jìn)行更新。
可選的,本實(shí)施例中,搜索引擎還可以提供“開啟智能聯(lián)想”和“關(guān)閉智能聯(lián)想”兩種功能,并通過接收用戶的選擇來確定是否開啟智能聯(lián)想。當(dāng)搜索引擎接收到“開啟智能聯(lián)想”的功能時才執(zhí)行本實(shí)施例,當(dāng)搜索引擎接收到“關(guān)閉智能聯(lián)想”的功能時,僅實(shí)施本實(shí)施例中的步驟101和步驟104。
可選的,本實(shí)施例中,搜索引擎在索引數(shù)據(jù)庫的特定字段中對所述檢索字符進(jìn)行檢索以獲得檢索結(jié)果后,搜索引擎還獲取用戶對以往的智能聯(lián)想結(jié)果的點(diǎn)擊歷史,根據(jù)該點(diǎn)擊歷史對本次智能聯(lián)想檢索結(jié)果的優(yōu)先級排序;并根據(jù)所述本次智能聯(lián)想結(jié)果的優(yōu)先級排序?qū)λ霰敬沃悄苈?lián)想結(jié)果進(jìn)行顯示。
具體舉例來說,搜索引擎獲取到用戶對以往的智能聯(lián)想結(jié)果的點(diǎn)擊歷史 后,對同一個智能聯(lián)想結(jié)果,用戶以往的選擇次數(shù)越多,則該智能聯(lián)想結(jié)果的優(yōu)先級排序越高,在顯示屏幕上也就越靠前排列。
上面對本發(fā)明實(shí)施例中的檢索方法進(jìn)行了描述。下面對本發(fā)明實(shí)施例中的檢索裝置進(jìn)行描述。
請參閱圖2,圖,2為本發(fā)明的檢索裝置的一個實(shí)施例的結(jié)構(gòu)示意圖。本實(shí)施例中的檢索裝置可以用于執(zhí)行圖1所示實(shí)施例中的檢索方法。本發(fā)明實(shí)施例的檢索裝置200包含:
第一獲取模塊201,用于獲取檢索請求,所述檢索請求包括檢索字符;
判斷模塊202,用于判斷所述檢索請求為對所述檢索字符進(jìn)行智能聯(lián)想還是進(jìn)行內(nèi)容檢索;
第一檢索模塊203,用于當(dāng)確定對所述檢索字符進(jìn)行智能聯(lián)想時,在索引數(shù)據(jù)庫的特定字段中對所述檢索字符進(jìn)行檢索;
第二檢索模塊204,用于當(dāng)確定對所述檢索字符進(jìn)行內(nèi)容檢索時,在所述索引數(shù)據(jù)庫中對所述檢索字符進(jìn)行檢索。
本實(shí)施例中,由于檢索裝置進(jìn)行智能聯(lián)想和進(jìn)行內(nèi)容檢索所用的索引數(shù)據(jù)庫為同一個索引數(shù)據(jù)庫,能夠避免存儲空間的浪費(fèi),降低運(yùn)營成本,同時,由于對智能聯(lián)想的搜索并不需要在索引數(shù)據(jù)庫的全部字段中進(jìn)行檢索,本實(shí)施例中,在進(jìn)行智能聯(lián)想的檢索時僅在索引數(shù)據(jù)庫的特定字段中進(jìn)行檢索,保證了智能聯(lián)想的檢索的效率。
可選的,所述索引數(shù)據(jù)庫中所述特定字段的索引包括特定標(biāo)記;所述檢索裝置還包括:
修改模塊205,用于在獲取檢索請求之后,在所述檢索請求的檢索字符中添加所述特定標(biāo)記,以使得在所述索引數(shù)據(jù)庫的特定字段中對所述檢索字符進(jìn)行檢索。
進(jìn)一步,可選的,所述檢索裝置還包括:
接收模塊206,用于在獲取檢索請求之前,接收用戶對所述特定字段的內(nèi)容的選擇或者輸入;
索引模塊207,用于在所述用戶選擇或者輸入的特定字段的索引中添加所述特定標(biāo)記。
如圖3所示,可選的,所述檢索裝置還包括:
第二獲取模塊301,用于在索引數(shù)據(jù)庫的特定字段中對所述檢索字符進(jìn)行檢索之后,獲取用戶對往次智能聯(lián)想檢索結(jié)果的點(diǎn)擊歷史;
排序模塊302,用于根據(jù)所述點(diǎn)擊歷史確定本次智能聯(lián)想檢索結(jié)果的優(yōu)先級排序;
顯示模塊303,用于根據(jù)所述本次智能聯(lián)想結(jié)果的優(yōu)先級排序?qū)λ霰敬沃悄苈?lián)想結(jié)果進(jìn)行顯示。
如圖4所示,可選的,所述裝置還包括:
啟動模塊401,用于在判斷所述檢索請求為對所述檢索字符進(jìn)行智能聯(lián)想還是進(jìn)行內(nèi)容檢索之前,接收用戶對啟動智能聯(lián)想功能的選擇。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售 或使用時,可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。