亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

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

文檔序號:11155548閱讀:310來源:國知局
一種基于Solr的中文檢索方法與制造工藝

本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體涉及一種基于Solr的中文檢索方法。



背景技術(shù):

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

越來越需要自主可控的政務(wù)辦公系統(tǒng)需要實現(xiàn)高效率的全文檢索,并且政務(wù)辦公系統(tǒng)通常需要在國產(chǎn)化硬件系統(tǒng)上運行,而目前的開源檢索技術(shù)都不能夠用中文進行直接檢索,稱為政務(wù)辦公系統(tǒng)的發(fā)展瓶頸。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的在于提供一種基于Solr的中文檢索方法,用于使用中文進行高效的全文檢索,提高大數(shù)據(jù)背景下的數(shù)據(jù)檢索效率。

為了達到上述目的,本發(fā)明采用這樣的如下技術(shù)方案:

本發(fā)明提供一種基于Solr的中文檢索方法,包括:

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

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

所述SolrCloud平臺根據(jù)所述多個中文詞語分別創(chuàng)建對應(yīng)的搜索索引;

所述SolrCloud平臺使用所述多個中文詞語分別對應(yīng)的搜索索引對所述SolrCloud平臺內(nèi)的多個中文索引庫進行全文檢索;

所述SolrCloud平臺從所述多個中文索引庫獲取到檢索結(jié)果,并向所述Solrj客戶端發(fā)送所述檢索結(jié)果。

采用上述技術(shù)方案后,本發(fā)明提供的技術(shù)方案將有如下優(yōu)點:

本發(fā)明實施例中搭建的SolrCloud平臺中創(chuàng)建有基于中文分詞的多個中文索引庫,因此當(dāng)Solrj客戶端創(chuàng)建查詢語句之后,SolrCloud平臺對該查詢語句進行中文分詞處理,根據(jù)多個中文詞語分別創(chuàng)建對應(yīng)的搜索索引,SolrCloud平臺使用多個中文詞語分別對應(yīng)的搜索索引對多個中文索引庫進行全文檢索,SolrCloud平臺從多個中文索引庫獲取到檢索結(jié)果,并向Solrj客戶端發(fā)送所述檢索結(jié)果。本發(fā)明實施例中使用中文進行高效的全文檢索,提高大數(shù)據(jù)背景下的數(shù)據(jù)檢索效率。

附圖說明

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

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

具體實施方式

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

為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部實施例?;诒景l(fā)明中的實施例,本領(lǐng)域的技術(shù)人員所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,以便包含一系列單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于那些單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它單元。

以下分別進行詳細(xì)說明。

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

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

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

步驟30、SolrCloud平臺根據(jù)多個中文詞語分別創(chuàng)建對應(yīng)的搜索索引;

步驟40、SolrCloud平臺使用多個中文詞語分別對應(yīng)的搜索索引對SolrCloud平臺內(nèi)的多個中文索引庫進行全文檢索;

步驟50、SolrCloud平臺從多個中文索引庫獲取到檢索結(jié)果,并向Solrj客戶端發(fā)送檢索結(jié)果。

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

本發(fā)明實施例中利用基于Solr和ZooKeeper的分布式搜索方案,搭建Solr服務(wù)器集群,構(gòu)成SolrCloud平臺,在SolrCloud上創(chuàng)建、存儲和管理大型資料庫文檔和數(shù)據(jù)庫信息的索引,構(gòu)建分布式的全文檢索系統(tǒng)。用戶可登陸系統(tǒng),普通用戶可以對大量文檔進行檢索、預(yù)覽和下載等操作,機構(gòu)內(nèi)部資料還可以共享。

在本發(fā)明的一些實施例中,SolrCloud平臺通過如下方式創(chuàng)建:

使用Solr工具、ZooKeeper工具和JDK工具在應(yīng)用服務(wù)器上搭建SolrCloud平臺,SolrCloud平臺是分布式的全文檢索系統(tǒng)集群。

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

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

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

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

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

SolrCloud平臺分別創(chuàng)建多個中文索引庫;

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

其中,SolrCloud平臺搭建完成之后,可以創(chuàng)建中文索引庫,也可以簡稱為索引庫,可在SolrCloud平臺創(chuàng)建多個索引庫。搭建完SolrCloud集群平臺后,可根據(jù)需求在集群里面創(chuàng)建多個索引庫,應(yīng)用進行全文檢索就是搜索索引庫里面的索引。Solr支持?jǐn)?shù)據(jù)庫表、XML、JSON、CSV等格式的數(shù)據(jù)導(dǎo)入。創(chuàng)建索引庫之前必須進行中文分詞配置以及停用詞配置,數(shù)據(jù)的中文分詞可以配置的,可根據(jù)需求配置需要索引的字段進行中文分詞,停用詞是分詞時過濾的詞,如“的”、“了”等。因為solr本身不支持中文分詞,只有配置了中文分詞才能正確創(chuàng)建中文索引庫,配置了中文分詞之后,就可以把如“中國福建省”分詞為“中國”、“福建省”、“福建”,然后根據(jù)這些分詞創(chuàng)建索引。

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

SolrCloud平臺獲取待檢索數(shù)據(jù);

SolrCloud平臺對待檢索數(shù)據(jù)進行中文分詞處理,得到中文分詞處理后的多個待檢索詞語;

SolrCloud平臺對中文分詞處理后的多個待檢索詞語分別創(chuàng)建對應(yīng)的索引;

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

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

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

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

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

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

SolrCloud平臺對檢索結(jié)果進行排序。

其中,本發(fā)明實施例中,SolrCloud平臺向Solrj客戶端發(fā)送檢索結(jié)果之前,還可以對檢索結(jié)果進行排序,檢索結(jié)果就是根據(jù)輸入的查詢語句搜索出來的結(jié)果,排序后輸出檢索結(jié)果,用戶可以通過Solrj客戶端快速的查詢到檢索結(jié)果。本發(fā)明一種基于Solr的國產(chǎn)化全文檢索技術(shù),通過Solr、Zookeeper在國產(chǎn)服務(wù)器上搭建集群創(chuàng)建SolrCloud平臺,能夠快速的、大量的導(dǎo)入數(shù)據(jù)創(chuàng)建中文索引庫,并對中文索引庫進行增刪改查操作。

本發(fā)明實施例中搭建的SolrCloud平臺中創(chuàng)建有基于中文分詞的多個中文索引庫,因此當(dāng)Solrj客戶端創(chuàng)建查詢語句之后,SolrCloud平臺對該查詢語句進行中文分詞處理,根據(jù)多個中文詞語分別創(chuàng)建對應(yīng)的搜索索引,SolrCloud平臺使用多個中文詞語分別對應(yīng)的搜索索引對多個中文索引庫進行全文檢索,SolrCloud平臺從多個中文索引庫獲取到檢索結(jié)果,并向Solrj客戶端發(fā)送所述檢索結(jié)果。本發(fā)明實施例中使用中文進行高效的全文檢索,提高大數(shù)據(jù)背景下的數(shù)據(jù)檢索效率。

另外需說明的是,以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。另外,本發(fā)明提供的裝置實施例附圖中,模塊之間的連接關(guān)系表示它們之間具有通信連接,具體可以實現(xiàn)為一條或多條通信總線或信號線。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。

通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實現(xiàn),當(dāng)然也可以通過專用硬件包括專用集成電路、專用CPU、專用存儲器、專用元器件等來實現(xiàn)。一般情況下,凡由計算機程序完成的功能都可以很容易地用相應(yīng)的硬件來實現(xiàn),而且,用來實現(xiàn)同一功能的具體硬件結(jié)構(gòu)也可以是多種多樣的,例如模擬電路、數(shù)字電路或?qū)S秒娐返?。但是,對本發(fā)明而言更多情況下軟件程序?qū)崿F(xiàn)是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計算機的軟盤、U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。

綜上所述,以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照上述實施例對本發(fā)明進行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對上述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1