新四季網

一種基於Solr的中文檢索方法與流程

2023-05-31 09:32:07


本發明涉及計算機技術領域,具體涉及一種基於Solr的中文檢索方法。



背景技術:

隨著大數據的廣泛應用,在我們的日常生活中,充斥的越來越多的數據。如何管理以及存儲這些海量的數據,並且怎麼從這些龐大的數據中獲取到自己所需要的信息成了一個很大的問題。而對於政府機構,這個問題無疑更嚴重了。因為從最早的政務信息化到現在,政府部門累積了大量的數據,例如審計部門,報表與法律法規文檔數不勝數,而且這些數據都是需要登記在案的,一旦需要查詢,或者修改這些數據,按照原來的數據修改機制,需要採用人工查找的方式來找到需要修改的數據,這必然會嚴重影響工作效率。

越來越需要自主可控的政務辦公系統需要實現高效率的全文檢索,並且政務辦公系統通常需要在國產化硬體系統上運行,而目前的開源檢索技術都不能夠用中文進行直接檢索,稱為政務辦公系統的發展瓶頸。



技術實現要素:

本發明的目的在於提供一種基於Solr的中文檢索方法,用於使用中文進行高效的全文檢索,提高大數據背景下的數據檢索效率。

為了達到上述目的,本發明採用這樣的如下技術方案:

本發明提供一種基於Solr的中文檢索方法,包括:

SolrCloud平臺接收Solrj客戶端創建的查詢語句,所述Solrj客戶端用於根據用戶的查詢請求創建所述查詢語句,所述SolrCloud平臺中創建有基於中文分詞的多個中文索引庫;

所述SolrCloud平臺對所述查詢語句進行中文分詞處理,得到中文分詞處理後的多個中文詞語;

所述SolrCloud平臺根據所述多個中文詞語分別創建對應的搜索索引;

所述SolrCloud平臺使用所述多個中文詞語分別對應的搜索索引對所述SolrCloud平臺內的多個中文索引庫進行全文檢索;

所述SolrCloud平臺從所述多個中文索引庫獲取到檢索結果,並向所述Solrj客戶端發送所述檢索結果。

採用上述技術方案後,本發明提供的技術方案將有如下優點:

本發明實施例中搭建的SolrCloud平臺中創建有基於中文分詞的多個中文索引庫,因此當Solrj客戶端創建查詢語句之後,SolrCloud平臺對該查詢語句進行中文分詞處理,根據多個中文詞語分別創建對應的搜索索引,SolrCloud平臺使用多個中文詞語分別對應的搜索索引對多個中文索引庫進行全文檢索,SolrCloud平臺從多個中文索引庫獲取到檢索結果,並向Solrj客戶端發送所述檢索結果。本發明實施例中使用中文進行高效的全文檢索,提高大數據背景下的數據檢索效率。

附圖說明

圖1為本發明實施例提供一種基於Solr的中文檢索方法的流程方框示意圖;

圖2為本發明實施例提供的檢索流程示意圖。

具體實施方式

本發明實施例提供了一種基於Solr的中文檢索方法,用於使用中文進行高效的全文檢索,提高大數據背景下的數據檢索效率。

為使得本發明的發明目的、特徵、優點能夠更加的明顯和易懂,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發明一部分實施例,而非全部實施例。基於本發明中的實施例,本領域的技術人員所獲得的所有其他實施例,都屬於本發明保護的範圍。

本發明的說明書和權利要求書及上述附圖中的術語「包括」和「具有」以及他們的任何變形,意圖在於覆蓋不排他的包含,以便包含一系列單元的過程、方法、系統、產品或設備不必限於那些單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它單元。

以下分別進行詳細說明。

本發明基於Solr的中文檢索方法的一個實施例,請參閱圖1所示,可以包括如下步驟:

步驟10、SolrCloud平臺接收Solrj客戶端創建的查詢語句,Solrj客戶端用於根據用戶的查詢請求創建查詢語句,SolrCloud平臺中創建有基於中文分詞的多個中文索引庫;

步驟20、SolrCloud平臺對查詢語句進行中文分詞處理,得到中文分詞處理後的多個中文詞語;

步驟30、SolrCloud平臺根據多個中文詞語分別創建對應的搜索索引;

步驟40、SolrCloud平臺使用多個中文詞語分別對應的搜索索引對SolrCloud平臺內的多個中文索引庫進行全文檢索;

步驟50、SolrCloud平臺從多個中文索引庫獲取到檢索結果,並向Solrj客戶端發送檢索結果。

本發明的目的在於提供一種大數據量的、高效的、高並發的、可集群的支持國產化系統全文檢索技術方案。通過採用本技術方案,可在國產化系統上,根據用戶需求創建索引和進行全文檢索。在本發明實施例中,Solr是一個獨立的企業級搜索應用伺服器,它對外提供類似於Web-service的API接口。用戶可以通過http請求,向搜尋引擎伺服器提交一定格式的XML文件,生成索引;也可以通過Http Get操作提出查找請求,並得到XML格式的返回結果。Solr基於Lucene的全文搜索伺服器。同時對其進行了擴展,提供了比Lucene更為豐富的查詢語言,同時實現了可配置、可擴展並對查詢性能進行了優化,並且提供了一個完善的功能管理界面,是一款非常優秀的全文搜尋引擎。

本發明實施例中利用基於Solr和ZooKeeper的分布式搜索方案,搭建Solr伺服器集群,構成SolrCloud平臺,在SolrCloud上創建、存儲和管理大型資料庫文檔和資料庫信息的索引,構建分布式的全文檢索系統。用戶可登陸系統,普通用戶可以對大量文檔進行檢索、預覽和下載等操作,機構內部資料還可以共享。

在本發明的一些實施例中,SolrCloud平臺通過如下方式創建:

使用Solr工具、ZooKeeper工具和JDK工具在應用伺服器上搭建SolrCloud平臺,SolrCloud平臺是分布式的全文檢索系統集群。

進一步的,在本發明的一些實施例中,Solr工具為Solr5工具,JDK工具為JDK1.7以上;

Solr工具為Solr6工具,JDK工具為JDK1.8。

本發明實施例中可以採用開源的、分布式的全文檢索技術solr集成到本發明實施例提供的SolrCloud平臺來解決現有技術中的問題。本發明實施例中實現基於Solr的國產化全文檢索技術,首先用Solr、ZooKeeper、Tongweb、JDK等工具在國產化的應用伺服器Tongweb上搭建集群,SolrCloud平臺是基於solr和zookeeper的分布式搜索方案,本發明實施例中可以搭建的SolrCloud。例如使用Solr5.2.1、Zookeeper3.4.6、Tongweb5.0、JDK1.8進行配置搭建SolrCloud集群平臺。其中,JDK是java開發工具包,solr是一個Java程序,運行時需要依賴JDK。搭建過程主要是利用solr提供的war包和zookeeper的集群特性,以及對solr、zookeeper相關配置的修改,然後部署在應用伺服器tongweb上。此步驟要注意的是:Solr各個版本都對JDK版本有要求,Solr5要求JDK1.7以上,Solr6要求JDK1.8,國產化應用伺服器的龍芯CPU要求特定的JDK,目前沒有龍芯對應的JDK1.7版本,有JDK1.8。

在本發明的一些實施例中,基於Solr的中文檢索方法除了執行前述步驟,還可以包括如下步驟:

SolrCloud平臺配置中文分詞,以及配置停用詞;

SolrCloud平臺分別創建多個中文索引庫;

SolrCloud平臺對多個中文索引庫中保存的索引進行修改或者刪除。

其中,SolrCloud平臺搭建完成之後,可以創建中文索引庫,也可以簡稱為索引庫,可在SolrCloud平臺創建多個索引庫。搭建完SolrCloud集群平臺後,可根據需求在集群裡面創建多個索引庫,應用進行全文檢索就是搜索索引庫裡面的索引。Solr支持資料庫表、XML、JSON、CSV等格式的數據導入。創建索引庫之前必須進行中文分詞配置以及停用詞配置,數據的中文分詞可以配置的,可根據需求配置需要索引的欄位進行中文分詞,停用詞是分詞時過濾的詞,如「的」、「了」等。因為solr本身不支持中文分詞,只有配置了中文分詞才能正確創建中文索引庫,配置了中文分詞之後,就可以把如「中國福建省」分詞為「中國」、「福建省」、「福建」,然後根據這些分詞創建索引。

進一步的,在本發明的一些實施例中,基於Solr的中文檢索方法還包括如下步驟:

SolrCloud平臺獲取待檢索數據;

SolrCloud平臺對待檢索數據進行中文分詞處理,得到中文分詞處理後的多個待檢索詞語;

SolrCloud平臺對中文分詞處理後的多個待檢索詞語分別創建對應的索引;

SolrCloud平臺將多個待檢索詞語以及對應的索引保存到中文索引庫中。

其中,SolrCloud平臺可以根據用戶的需要在各個中文索引庫中增加索引以及對應的待檢索詞語。通過Solr和Zookeeper搭建一個SolrCloud的集群平臺,待檢索的數據導入該平臺(SolrCloud平臺保存數據和索引),並對數據創建索引保存在該平臺的中文索引庫,再根據需求對索引庫進行增加、刪除、修改、查詢等操作,通過使用集群突破全文檢索的檢索速度、檢索並發量、檢索數據量等方面的瓶頸。全文檢索技術是針對文件內容、大文本等數據的搜索。直接在資料庫搜索速度會很慢,並隨數據量變大越來越慢;單機的全文檢索技術在並發上(多人同時進行檢索)也存在瓶頸,並隨著數據量變大也越來越明顯。採用集群可根據實際情況決定集群的機器臺數來解決這些問題。

在本發明的一些實施例中,步驟20SolrCloud平臺對查詢語句進行中文分詞處理,包括:

SolrCloud平臺使用中文分詞器對查詢語句。

其中,在進行全文檢索時,使用Solr提供的Java客戶端Solrj對中文索引庫進行增加、刪除、修改、查詢操作,本發明實施例中支持中文、英文的檢索,Solr本身支持英文,本發明實施例中還可以配置中文分詞器作為分詞工具,就可支持中文檢索。

在本發明的一些實施例中,步驟50中向Solrj客戶端發送檢索結果之前,基於Solr的中文檢索方法還包括:

SolrCloud平臺對檢索結果進行排序。

其中,本發明實施例中,SolrCloud平臺向Solrj客戶端發送檢索結果之前,還可以對檢索結果進行排序,檢索結果就是根據輸入的查詢語句搜索出來的結果,排序後輸出檢索結果,用戶可以通過Solrj客戶端快速的查詢到檢索結果。本發明一種基於Solr的國產化全文檢索技術,通過Solr、Zookeeper在國產伺服器上搭建集群創建SolrCloud平臺,能夠快速的、大量的導入數據創建中文索引庫,並對中文索引庫進行增刪改查操作。

本發明實施例中搭建的SolrCloud平臺中創建有基於中文分詞的多個中文索引庫,因此當Solrj客戶端創建查詢語句之後,SolrCloud平臺對該查詢語句進行中文分詞處理,根據多個中文詞語分別創建對應的搜索索引,SolrCloud平臺使用多個中文詞語分別對應的搜索索引對多個中文索引庫進行全文檢索,SolrCloud平臺從多個中文索引庫獲取到檢索結果,並向Solrj客戶端發送所述檢索結果。本發明實施例中使用中文進行高效的全文檢索,提高大數據背景下的數據檢索效率。

另外需說明的是,以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。另外,本發明提供的裝置實施例附圖中,模塊之間的連接關係表示它們之間具有通信連接,具體可以實現為一條或多條通信總線或信號線。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。

通過以上的實施方式的描述,所屬領域的技術人員可以清楚地了解到本發明可藉助軟體加必需的通用硬體的方式來實現,當然也可以通過專用硬體包括專用集成電路、專用CPU、專用存儲器、專用元器件等來實現。一般情況下,凡由電腦程式完成的功能都可以很容易地用相應的硬體來實現,而且,用來實現同一功能的具體硬體結構也可以是多種多樣的,例如模擬電路、數字電路或專用電路等。但是,對本發明而言更多情況下軟體程序實現是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在可讀取的存儲介質中,如計算機的軟盤、U盤、移動硬碟、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光碟等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例所述的方法。

綜上所述,以上實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照上述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對上述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精神和範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀