本發明涉及計算機技術領域,尤其涉及一種基于標簽的檢索。
背景技術:
隨著信息時代的到來,服務器中存儲的文件越來越多;用戶可以使用終端從服務器中獲取用戶感興趣的文件。為了提高用戶的體驗,服務器還可以為用戶推薦用戶感興趣的文件。目前,服務器在為用戶推薦文件時,統計的是服務器中每個文件的點擊率,根據每個文件的點擊率,選擇點擊率最高的文件,向用戶推薦選擇的文件。這種推薦方法不能很好地匹配用戶需求,會出現推薦的內容和用戶搜索內容不相符的情況。
技術實現要素:
為解決現有技術存在的問題,本發明提供了一種基于標簽的檢索方法,所述方法包括,
索引單元按照創建邏輯/更新邏輯從數據庫中調用數據生成索引信息;
所述索引單元將所述索引信息發送至檢索單元;
客戶端接收用戶輸入的搜索字符串,并將該搜索字符串發送給檢索單元;
所述檢索單元根據所述搜索字符串在本地的索引信息中進行匹配處理;
生成搜索結果并發送給所述客戶端。
進一步地,所述方法還包括,所述索引單元按照創建邏輯從數據庫獲取數據并生成索引信息,具體為,當索引單元判定數據符合創建條件時,生成索引信息。
進一步地,所述方法還包括,所述索引單元按照更新邏輯從數據庫獲取數據并生成新的索引信息,具體為,當索引單元發現索引信息到達更新時間點時,生成新的索引信息并發送至搜索單元以更新索引信息。
進一步地,所述方法還包括,所述索引單元按照更新邏輯從數據庫獲取數據并生成新的索引信息,具體為,當索引單元發現數據庫中數據源的更新量達到更新閾值時,生成新的索引信息并發送至搜索單元以更新索引信息。
進一步地,所述方法還包括,所述客戶端發送預定義信息至數據庫,所述預定義信息包括創建邏輯和更新邏輯,所述數據庫向客戶端發送反饋信息。
進一步地,所述方法還包括,所述創建邏輯包括,搜索字段中包括的標簽,統計各個標簽出現的次數并生成索引信息。
進一步地,本發明還涉及一種基于標簽的檢索裝置,所述裝置包括,
索引單元用于按照創建邏輯/更新邏輯從數據庫中調用數據生成索引信息,還用于將所述索引信息發送至檢索單元;
客戶端用于接收用戶輸入的搜索字符串,并將該搜索字符串發送給檢索單元;
檢索單元用于根據所述搜索字符串在本地的索引信息中進行匹配處理,還用于生成搜索結果并發送給所述客戶端
本發明實施例提供的方法可以更好的根據用戶需求提供搜索結果,提升用戶的使用體驗。
附圖說明
圖1為本發明實施例提供的基于標簽的檢索方法的流程圖;
圖2為本發明實施例提供的基于標簽的檢索裝置的示意圖。
具體實施方式
下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
圖1為本發明基于標簽的檢索方法的流程圖,如圖所示,
步驟101:索引單元按照創建邏輯/更新邏輯從數據庫中調用數據生成索引信息。
本發明中索引單元用于將數據庫中的數據生成索引信息,特別是實時根據創建邏輯/更新邏輯生成索引信息,所述創建邏輯/更新邏輯是系統預先設定的,索引單元根據創建邏輯將數據庫中的數據生成索引信息,當數據庫有更新或者滿足其他條件時,索引單元根據更新邏輯生成新的索引信息。
進一步地,所述客戶端發送預定義信息至數據庫,所述預定義信息包括創建邏輯和更新邏輯,所述數據庫向客戶端發送反饋信息。
具體的,所述客戶端還可以向數據庫發送預定義信息,該預定義信息包括創建邏輯和更新邏輯,所述數據庫接收到所述預定義信息后,向客戶端發送有關于信息是否送達的反饋信息,所述創建邏輯和更新邏輯是有關于索引單元如何創建或者更新索引信息的,因此所述數據庫接收到所述創建邏輯和更新邏輯后,將所述創建邏輯和更新邏輯發送到所述索引單元,索引單元接收到所述創建邏輯和更新邏輯后,按照所述創建邏輯和更新邏輯進行索引信息的創建和更新。
進一步地,所述創建邏輯包括,搜索字段中包括的標簽,統計各個標簽出現的次數并生成索引信息。
具體為,所述創建邏輯包括了索引單元如何創建索引信息的方法,即索引單元對待創建索引信息的字段,進行標簽和關鍵詞的統計,將該字段涉及的所有關鍵詞和所有標簽創建為索引信息。由于有可能各個標簽出現的次數不止一次,因此還需要統計各個標簽的總出現次數,并將標簽的總出現次數也統計在索引信息中。
進一步地,所述索引單元按照創建邏輯從數據庫獲取數據并生成索引信息,具體為,當索引單元判定數據符合創建條件時,生成索引信息。
具體為,當索引單元發現索引信息到達更新時間點時,生成新的索引信息并發送至搜索單元以更新索引信息。
具體為,當索引單元發現數據庫中數據源的更新量達到更新閾值時,生成新的索引信息并發送至搜索單元以更新索引信息。
具體來講,索引單元不僅能按照創建邏輯創建索引信息,還應當能夠實時對已經創建的索引信息進行更新,所述更新邏輯可以是按照一定的時間間隔進行更新,也可以是檢測到數據庫發生了數據的變化而進行更新。索引單元的數據來源不只是一個數據庫,而是一個由數個數據庫組成的數據源,由于數據庫更新速度很快,因此可以設定一個時間閾值,到了該時間閾值后,索引單元即根據更新邏輯對數據庫的原索引信息進行更新。或者當數據庫發送了數據的變更時,索引單元可以獲取到該數據變更信息,當數據變更滿足了更新邏輯的更新條件時,索引單元對數據庫的原索引信息進行更新處理。所述更新處理可以包括在原索引信息基礎上的刪除、增加和修改。
步驟102,所述索引單元將所述索引信息發送至檢索單元。
所述索引單元生成索引信息后,將所述索引信息發送至檢索單元,以便進行下一步的搜索匹配操作。當索引單元生成新的索引信息時,也將新的索引信息發送至檢索單元。
步驟103,客戶端接收用戶輸入的搜索字符串,并將該搜索字符串發送給檢索單元。
用戶需要進行搜索時,可以在客戶端輸入搜索字符串,該搜索字符串應當包括了待搜索問題或者待搜索對象的關鍵字。客戶端接收到所述搜索字符串后,將該搜索字符串發送給所述檢索單元進行檢索。
步驟104,所述檢索單元根據所述搜索字符串在本地的索引信息中進行匹配處理。
所述檢索單元接收到客戶端發送的搜索字符串后,將所述搜索字符串所具有的關鍵詞或者標簽,在索引單元生成的索引信息中進行匹配,例如,在檢索單元的某個字段中,該字段的標簽和搜索字符串的標簽或者關鍵詞匹配度較高,則該字段就可以作為搜索字符串的一個檢索結果。所述匹配是指,所述搜索字符串和字段具有同樣的關鍵詞或者標簽,或者具有多個相同的關鍵詞或者標簽,重合的關鍵詞或者標簽的數量越多,那么匹配度就越高。
步驟105,生成搜索結果并發送給所述客戶端。
所述檢索單元接收到客戶端發送的搜索字符串并獲取到搜索字符串中包括的關鍵字或者標簽后,根據該標簽和關鍵字與檢索單元中的索引信息進行匹配,若所述搜索字符串的關鍵字或者標簽與某條索引信息的關鍵字或者標簽的重合度較高,則認為該索引信息所對應的字段與所述搜索字符串的匹配度較高。如上所述得到一系列的字段,即搜索結果并將所述搜索結果發送給所述客戶端。
圖2為本發明基于標簽的檢索裝置的示意圖,如圖所示,本發明裝置包括索引單元1、客戶端3和檢索單元2。所述索引單元1和檢索單元2信號連接,所述檢索單元2和所述客戶端3信號連接,所述索引單元1和所述客戶端3通過數據庫信號連接。
所述索引單元1用于按照創建邏輯/更新邏輯從數據庫中調用數據生成索引信息,還用于將所述索引信息發送至檢索單元2;
具體的,所述索引單元1按照預先設定的創建邏輯/更新邏輯調用數據庫的數據生成索引信息,索引信息發送至檢索單元2后用于和搜索字符串的關鍵詞匹配生成搜索結果。
所述客戶端3用于接收用戶輸入的搜索字符串,并將該搜索字符串發送給檢索單元2;
用戶在所述客戶端3進行操作,比如進行搜索操作隨后從客戶端3獲取搜索結果。
所述檢索單元2用于根據所述搜索字符串在本地的索引信息中進行匹配處理,還用于生成搜索結果并發送給所述客戶端3。
所述檢索單元2接收索引單元1的索引信息后,將客戶端3發送的搜索字符串的關鍵詞和所述索引信息的關鍵詞和標簽進行匹配,若二者的重合度較高則認為匹配成功,若二者沒有重合的關鍵詞和標簽,則認為匹配度低。
專業人員應該還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(ram)、內存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或技術領域內所公知的任意其它形式的存儲介質中。
以上所述的具體實施方式,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式而已,并不用于限定本發明的保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。