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

一種基于solr的搜索方法及搜索應(yīng)用服務(wù)器AUS的制作方法

文檔序號:8457377閱讀:363來源:國知局
一種基于solr的搜索方法及搜索應(yīng)用服務(wù)器AUS的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息技術(shù)處理領(lǐng)域,尤其涉及一種基于SOlr的搜索方法及搜索應(yīng)用服務(wù)器AUS。
【背景技術(shù)】
[0002]目前,應(yīng)用廣泛的企業(yè)級搜索應(yīng)用服務(wù)器是阿帕奇(Apache)提供的基于Lucene的全文搜索服務(wù)器solr。其中,solr是一個高性能,采用Java5開發(fā)的全文搜索服務(wù)器,它的檢索方式為:solr中的索引程序掃描文章中的每一個詞,對每一個詞建立一個索引,指明該詞在文章中出現(xiàn)的次數(shù)和位置;當(dāng)用戶查詢某一詞時(shí),solr中的檢索程序根據(jù)事先建立的索引進(jìn)行查找,并將查找的結(jié)果分析處理后反饋給用戶。
[0003]在實(shí)際應(yīng)用中,solr只對外提供了同步響應(yīng)的超文本傳送協(xié)議(英文:Hypertexttransfer protocol,縮寫:http)接口方式,該同步響應(yīng)方式要求solr每次接收到用戶發(fā)送的查詢請求時(shí),必須檢索完整個節(jié)點(diǎn)的數(shù)據(jù),并對檢索結(jié)果分析處理后,才對用戶的查詢請求作出響應(yīng)。但是,隨著數(shù)據(jù)量的增長、業(yè)務(wù)復(fù)雜度的增加,solr從檢索信息到提取出最終結(jié)果數(shù)據(jù)并響應(yīng)給用戶的處理時(shí)間勢必會增長,從而造成響應(yīng)超時(shí)等異常問題。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的實(shí)施例提供一種基于solr的搜索方法及搜索應(yīng)用服務(wù)器AUS,以解決現(xiàn)有采用同步響應(yīng)方式進(jìn)行檢索時(shí)響應(yīng)超時(shí)的問題。
[0005]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0006]第一方面,本發(fā)明實(shí)施例提供一種基于solr的搜索方法,應(yīng)用于搜索應(yīng)用服務(wù)器AUS ;所述方法包括:
[0007]步驟al、接收用戶輸入的搜索請求;其中,所述搜索請求包含:至少一個搜索字段及搜索命令關(guān)鍵字;
[0008]步驟a2、將搜索內(nèi)容劃分為η組;其中,η大于I的整數(shù);
[0009]步驟a3、同時(shí)對每一組搜索內(nèi)容進(jìn)行檢索,獲取η組與所述搜索字段相關(guān)的檢索結(jié)果;
[0010]步驟a4、將所述η組檢索結(jié)果合并后,根據(jù)所述搜索命令關(guān)鍵字顯示給所述用戶。
[0011]在第一方面的第一種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面,所述接收用戶輸入的搜索請求包括:
[0012]接收用戶通過用戶界面上的搜索框輸入的搜索請求。
[0013]在第一方面的第二種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在將搜索內(nèi)容劃分為η組之前,所述方法還包括:
[0014]判斷所述搜索命令關(guān)鍵字是否為原生solr可支撐的關(guān)鍵字;
[0015]若確定所述搜索命令關(guān)鍵字為原生solr不可支撐的關(guān)鍵字,則執(zhí)行步驟a2?a4。
[0016]在第一方面的第三種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,所述判斷所述搜索命令關(guān)鍵字是否為原生solr可支撐的關(guān)鍵字包括:
[0017]解析所述搜索命令關(guān)鍵字所對應(yīng)的業(yè)務(wù)類型;
[0018]若所述業(yè)務(wù)類型不包含在所述原生solr支撐的業(yè)務(wù)范圍之內(nèi),則確定所述搜索命令關(guān)鍵字為原生solr不可支撐的關(guān)鍵字;
[0019]若所述業(yè)務(wù)類型包含在所述原生solr支撐的業(yè)務(wù)范圍之內(nèi),則確定所述搜索命令關(guān)鍵字為原生solr可支撐的關(guān)鍵字。
[0020]在第一方面的第四種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式至第一方面的第三種實(shí)現(xiàn)方式,所述方法還包括:
[0021]若確定所述搜索命令關(guān)鍵字為原生solr可支撐的關(guān)鍵字,則按照預(yù)設(shè)順序?qū)λ鏊阉髡埱髮?yīng)的搜索內(nèi)容依次進(jìn)行檢索;
[0022]將檢索結(jié)果顯示給所述用戶。
[0023]第二方面,本發(fā)明實(shí)施例提供一種搜索應(yīng)用服務(wù)器AUS,所述搜索應(yīng)用服務(wù)器AUS包括:solrj客戶端、solrcloud服務(wù)器、kafka集群以及合并模塊;
[0024]所述solr j客戶端,用于接收用戶輸入的搜索請求,并向所述solrcloud服務(wù)器發(fā)送所述搜索請求;其中,所述搜索請求包含:至少一個搜索字段及搜索命令關(guān)鍵字;
[0025]所述solrcloud服務(wù)器,用于將接收的所述solr j客戶端發(fā)送的所述搜索請求對應(yīng)的搜索內(nèi)容劃分為η組;其中,η大于I的整數(shù);
[0026]并同時(shí)對每一組搜索內(nèi)容進(jìn)行檢索,將獲取的η組與所述搜索字段相關(guān)的檢索結(jié)果發(fā)送至所述kafka集群;
[0027]所述合并模塊、用于讀取所述kafka集群中所述η組的檢索結(jié)果,并將合并后的所述η組檢索結(jié)果根據(jù)所述搜索命令關(guān)鍵字處理后寫入所述kafka集群;
[0028]所述kafka集群,用于將所述合并處理后的結(jié)果顯示給所述用戶。
[0029]在第二方面的第一種可能的實(shí)現(xiàn)方式中,結(jié)合第二方面,所述solrj客戶端,具體用于:
[0030]接收用戶通過用戶界面上的搜索框輸入的搜索請求。
[0031]在第二方面的第二種可能的實(shí)現(xiàn)方式中,結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,所述搜索應(yīng)用服務(wù)器AUS還包括:
[0032]語言解析模塊,用于在所述solrcloud服務(wù)器將搜索內(nèi)容劃分為η組之前,確定所述搜索命令關(guān)鍵字為原生solr不可支撐的關(guān)鍵字。
[0033]在第二方面的第三種可能的實(shí)現(xiàn)方式中,結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,所述語言解析模塊,具體用于:
[0034]解析所述搜索命令關(guān)鍵字所對應(yīng)的業(yè)務(wù)類型;
[0035]若所述業(yè)務(wù)類型不包含在所述原生solr支撐的業(yè)務(wù)范圍之內(nèi),則確定所述搜索命令關(guān)鍵字為原生solr不可支撐的關(guān)鍵字;
[0036]若所述業(yè)務(wù)類型包含在所述原生solr支撐的業(yè)務(wù)范圍之內(nèi),則確定所述搜索命令關(guān)鍵字為原生solr可支撐的關(guān)鍵字。
[0037]在第二方面的第四種可能的實(shí)現(xiàn)方式中,結(jié)合第二方面至第二方面的第三種可能的實(shí)現(xiàn)方式中的任一種實(shí)現(xiàn)方式,
[0038]所述solrcloud服務(wù)器,還用于若所述語言解析模塊確定所述搜索命令關(guān)鍵字為原生solr可支撐的關(guān)鍵字,則按照預(yù)設(shè)順序?qū)λ鏊阉髡埱髮?yīng)的搜索內(nèi)容依次進(jìn)行檢索;
[0039]并將檢索結(jié)果顯示給所述用戶。
[0040]由上可知,本發(fā)明實(shí)施例提供一種基于solr的搜索方法及搜索應(yīng)用服務(wù)器AUS。當(dāng)接收到用戶輸入包含搜索命令關(guān)鍵字的搜索請求時(shí),將搜索請求對應(yīng)的分組檢索,并將每組的檢索結(jié)果合并后反饋給用戶。如此,將檢索內(nèi)容分為多個小組,并行檢索與搜索命令關(guān)鍵字相關(guān)的內(nèi)容,大大縮短了檢索時(shí)間,避免了現(xiàn)有當(dāng)檢索內(nèi)容比較多時(shí),采用同步響應(yīng)方式進(jìn)行檢索時(shí)響應(yīng)超時(shí)的問題,提高了用戶體驗(yàn)。
【附圖說明】
[0041]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0042]圖1為本發(fā)明實(shí)施例提供的一種基于solr的搜索方法的流程圖;
[0043]圖2為本發(fā)明實(shí)施例提供的一種搜索應(yīng)用服務(wù)器AUS的結(jié)構(gòu)圖;
[0044]圖2A為本發(fā)明實(shí)施例提供的一種搜索應(yīng)用服務(wù)器AUS的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0045]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0046]圖1示出了本發(fā)明實(shí)施例提供的一種基于solr的搜索方法的流程圖。如圖1所示,所述方法可以包括:
[0047]101、接收用戶輸入的搜索請求;其中,所述搜索請求包含:至少一個搜索字段及搜索命令關(guān)鍵字。
[0048]其中,搜索字段可以為用戶需要查詢?nèi)我蛔只蛟~,搜索命令關(guān)鍵字為可以本實(shí)施提供的亞信處理語言;例如,若用戶需要查詢某一地址的相關(guān)信息,且僅需要查詢結(jié)果中的前20個結(jié)果,則可以在搜索框中輸入:*|head 20 I address:西安市未央?yún)^(qū)南路一段29號,其中,address:西安市未央?yún)^(qū)南路一段29號為搜索字段,head為搜索命令關(guān)鍵字。
[0049]優(yōu)選的,可以接收用戶通過用戶界面上的搜索框輸入的搜索請求;如:可以在用戶界面上設(shè)置類似百度baidu、google的搜索框,在搜索框內(nèi)輸入相應(yīng)的包含至少一個搜索字段及搜索命令關(guān)鍵字的搜索請求。
[0050]需要說明的是,本發(fā)明實(shí)施例提供的搜索命令關(guān)鍵字與現(xiàn)有solr中的一些查詢命令相比更豐富,簡單易學(xué),可以統(tǒng)稱為亞信處理語言(英文:Aisainfo ProcessLanguage,縮寫:APL),且每個命令關(guān)鍵字都對應(yīng)特定的數(shù)據(jù)挖掘功能,如:* I head 10表示取檢索結(jié)果集中前10個數(shù)據(jù);* ItaillO表示取檢索結(jié)果集中最后10個結(jié)果;更重要的是,本實(shí)施例提供的搜索命令關(guān)鍵字還可以通過簡單的組合以實(shí)現(xiàn)新的數(shù)據(jù)挖掘需求,如:* I head 1ltail 2則可以取出檢索結(jié)果的第9、第10條數(shù)據(jù);此外,如果有新的數(shù)據(jù)挖掘需求,只需約定一特定APL語言命令關(guān)鍵字與之對應(yīng),然后實(shí)現(xiàn)所需業(yè)務(wù)邏輯,即可將該數(shù)據(jù)挖掘需求納入APL語言系統(tǒng)中。
[0051]102、將搜索內(nèi)容劃分為η組;其中,η大于I的整數(shù)。
[0052]優(yōu)選的,可以根據(jù)搜索內(nèi)容的大小將搜索內(nèi)容靈活劃分為η組,每組的搜索數(shù)量可以相等,也可以不等,至于η的具體取值,本發(fā)明實(shí)施例對比不進(jìn)行限定。例如:一次檢索文檔總數(shù)為100000,可以將這批搜索文檔均分為分為10組,每組包含10000個檢索文檔。
[0053]103、同時(shí)對每一組搜索內(nèi)容進(jìn)行檢索,獲取η組與所述搜索字段相關(guān)的檢索結(jié)果O
[0054]優(yōu)選的,可以按照搜索內(nèi)容的時(shí)間先后順序或者內(nèi)容從大到小的順序?qū)γ拷M搜索內(nèi)容進(jìn)行檢索;例如,檢索關(guān)于“西安市未央?yún)^(qū)南路一段29號”該地址的相關(guān)信息,可以按照時(shí)間發(fā)生的先后進(jìn)行檢索。
[0055]104、將所述η組檢索結(jié)果合并后,根據(jù)所述搜索命令關(guān)鍵字顯示給所述用戶。
[0056]優(yōu)選的,可以通過將合并處理后的結(jié)果顯示在用戶界面上,以供用戶查看。例如:共將搜索內(nèi)容分為10組,每組均獲得100個檢索結(jié)果,而搜索命令關(guān)鍵字* I head 10僅要求返回前10個搜索結(jié)果,則需要把這1000個搜索結(jié)果合并在一起后,選出前10個搜索結(jié)果返回給用戶。
[0057]進(jìn)一步的,本發(fā)明實(shí)施例中,并不需
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1