欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種可配置方式的復雜關鍵字搜索技術實現(xiàn)方法

文檔序號:6331700閱讀:151來源:國知局
專利名稱:一種可配置方式的復雜關鍵字搜索技術實現(xiàn)方法
技術領域
本發(fā)明涉及一種文本,網(wǎng)頁或其他二進制內容的搜索方法,尤其是一種具有復雜 關鍵字檢索結構的網(wǎng)絡搜索方法,具體地說是一種可配置方式的復雜關鍵字搜索方法。
背景技術
目前,搜索技術在我們生活中運用廣泛,而實際在軟件開發(fā)中常常遇到一種情況 是搜索的內容不固定,只知道幾個典型的關鍵字,且關鍵字可能經常變化。例如要分析一 個郵件網(wǎng)頁的正文內容,首先要確定正文開始的關鍵字和結束的關鍵字。因為網(wǎng)頁是腳本 隨機生成的,不同語言、不同編碼這個關鍵字都不一樣,或者這個網(wǎng)站還在更新中,依賴的 關鍵字會經常變化,又或者依賴的關鍵字不是唯一的,在全文中有M個,而我們需要找到第 N個關鍵字之后的內容。舉三種情況
1)按照關鍵字出現(xiàn)的順序,先查找第一個出現(xiàn)的A,之后查找B,截取B之后的內容到 關鍵字C結束
2)按照關鍵字出現(xiàn)的順序,需要實現(xiàn)查找關鍵字A,再查找關鍵字B或者關鍵字C,如 果關鍵字B出現(xiàn),則查找后面的判斷是否存在關鍵字D,如果B不出現(xiàn)C出現(xiàn),則判斷后面是 否存在關鍵字F。3)按照關鍵字出現(xiàn)的順序,先查找關鍵字A,之后查找B或者C,截取包含B或者 C關鍵字到結束的所有內容。
傳統(tǒng)的方法針對三種情況,寫三段代碼. 對情況1
If (內容查找到A)
{
If (內容查找到B)
{
If (內容查找到C)
返回B和C之間的內容
對情況2
If (內容查找到A)
{
If (內容查找到B)
{
If (內容查找到D )返回找到
}
Else if (內容查找到C) If (內容查找到F) 返回找到
}
返回未找到 對情況3
If (內容查找到A)
{
If (內容查找到B)
{
查找結尾 返回內容
}
Else (內容查找到C)
{
查找結尾 返回內容
返回未找到
以上在關鍵字確定,邏輯不是特別復雜時,已經明顯感到處理的復雜性。上面的傳統(tǒng)方法處理的幾個明顯的缺點
1)邏輯過于復雜,可讀性差;
2)代碼過于累贅,沒有復用性,可維護性差;
3)如果有新的邏輯出現(xiàn),則需要新增加代碼,可移植性差;
4)如果關鍵字修改,則代碼需要修改,需要重新編譯,升級繁瑣。

發(fā)明內容
本發(fā)明的目的是針對查找一些內容時,查找的依賴關鍵字比較多,關鍵字與關鍵 字之間的邏輯關系又相對復雜,關鍵字經常變化時搜索適應性和可移植性差的問題,發(fā)明 一種可配置方式的復雜關鍵字搜索方法。本發(fā)明的技術方案是
一種可配置方式的復雜關鍵字搜索方法,其特征是它包括以下步驟 首先,在搜索引擎中設置一個配置文件,在所述配置文件中配置需查找的關鍵字的查 找邏輯關系;通過配置文件配置查找項依賴的關鍵字,通過配置文件配置關鍵字的邏輯關 系,隔離關鍵字變化或者關鍵字間邏輯關系變化對處理流程帶來的影響;配置文件可以配 置的內容包括支持多個查找項,每個查找項都有一個唯一標識; 支持關鍵字間的邏輯關系表示,邏輯關系包括“與”,“或”; 支持任意字符的關鍵字,不可見字符可用16進制表示;
支持關鍵字類型表示,類型包括查詢類型、取值開始類型、取值結束類型、查找開始包 含這個關鍵字、查找結束包含這個關鍵字、查找結尾以查找內容結尾為內容結束等;
其次,在初始化搜索引擎時先讀取配置文件,按照查找項的內容和數(shù)據(jù)存儲結構
存儲數(shù)據(jù);
最后,執(zhí)行查找或查詢函數(shù),根據(jù)配置項標識查找數(shù)據(jù)內容,返回查找結果和內容。所述的配置文件中可含有多個查找項,每個查找項均帶有標識符,每個查找項均 可由多個關鍵字組成,關鍵字數(shù)量的上限可以設定,關鍵字開始和結束有分割符分割,關鍵 字的配置順序就是其查找時的先后順序;關鍵字的邏輯關系包括“與”、“或”兩種;同時為關 鍵字配置類別。所述的類別不查擴充類別,它包括查詢類型,取值開始類型,取值結束類型,返回 包含關鍵字類型,返回關鍵字開始到結束類型。所述的標識符=([類蕃關鍵字1])邏輯關系([類蕃關鍵字2])…邏輯關系([類 蕃關鍵字η]),標識為可見字符,“([”為關鍵字開始分割符,“]),,為關鍵字結束分割符。所述的初始化是指
(1)程序啟動或者中途需要讀入配置文件;
(2)配置文件存在本地或者遠程,配置項按照配置文件的格式讀入內存;
(3)配置內容按照數(shù)據(jù)結構存放每一個配置項。所述的執(zhí)行查找或查詢函數(shù)是指查找按照配置項的標識進行單項查找,返回查 找內容,執(zhí)行查詢函數(shù)是指查找按照配置項的標識進行單項查找,返回查找結果。本發(fā)明的有益效果
利用本發(fā)明的方法能夠解決負責邏輯的統(tǒng)一查找,這種技術的創(chuàng)新點在于可配置,查 找靈活,應用范圍廣,使用這種技術后,代碼的可讀性,軟件的可維護性以及可擴展性大大 提尚。本發(fā)明方法簡單,易于實現(xiàn),在實際應用中,具有較好的可移植性。


圖1是本發(fā)明的初始化流程圖。圖2是本發(fā)明的查找流程圖。
具體實施例方式下面結合附圖和實施例對本發(fā)明作進一步的說明。如圖1、2所示。一種可配置方式的復雜關鍵字搜索方法,它包括以下步驟
首先,在搜索引擎中設置一個配置文件,在所述配置文件中配置需查找的關鍵字的查 找邏輯關系;配置文件應記錄查找的項目、查找項目依賴的關鍵字以及關鍵字之間的邏輯 關系和關鍵字類型,具體要求為al、配置文件按照約定的語法格式配置,具體語法見下文說明。配置文件可以配置依賴 的查找關鍵字,關鍵字數(shù)量不設上限,每個配置必須有一個唯一標識標記;
a2、查找的內容依賴的關鍵字數(shù)量不設上限,關鍵字開始結束有特定(如下所列的配置 文件的具體語法所示)的分割符分割,關鍵字的配置順序就是其查找時的先后順序;
a3、配置依賴關鍵字需要配置關鍵字的邏輯關系,邏輯關系包括“與”,“或”兩種關系; a4、配置項的依賴關鍵字是要配置類別的,這些類別包括查詢類型,取值開始類型,取 值結束類型,返回包含關鍵字類型,返回關鍵字開始到結束類型,類型可以擴充; 配置文件的具體語法說明
標識符=([類蕃關鍵字1])邏輯關系([類蕃關鍵字2])…邏輯關系([類蕃關鍵字
η])
標識說明標識為可見字符 “([”關鍵字開始分割符 “])”關鍵字結束分割符 類型
關鍵字的類型具體包括 $-----查詢標記
%——從查找開始到這個符號后字符串結束 ——從這個符號后字符開始到結束 & 一一查找開始標記,不帶這個符號
-----查找開始標記,帶這個符號
@——查找結束字符,但連帶這個符號 # 一一查找結束標記,不帶這個符號 + 一一沒有找到以查找結束為結束 關鍵字
查找依賴的關鍵字,可顯示字符,如果是十六進制則標識方法為 IOx十六進制數(shù)1,Ox十六進制數(shù)2,···,Ox十六進制數(shù)η}; 邏輯關系
&一一與關系,即出現(xiàn)前一個關鍵字之后必須出現(xiàn)下一個關鍵字 一一或關系,即如果前一個關鍵字不出現(xiàn)則可以是出現(xiàn)下一個關鍵字 具體的標識舉例
value=([$keyl])&([ &key2]) | ([&key3])&([# key4])
這一行配置表達的的意思是Value項的查找邏輯是先查找keyl,然后查找key2,如果 Key2也沒有找到則查找key3,然后查找key4,取key2或者key3關鍵字后面內容作為查找 到目標內容的開始,key4關鍵字之前的內容作為目標內容的結束。
上述內容均可存在文件配置模具中。 其次,啟動初始化模塊,先讀取配置文件,按照查找項的內容和數(shù)據(jù)存儲結構存儲 數(shù)據(jù);數(shù)據(jù)采用順序單向鏈表,每個鏈表子節(jié)點包含了 “與”節(jié)點指針,“或”節(jié)點指針,關鍵 字內容,關鍵字類型。這種結構的好處是可以表達復雜的邏輯,在查找時方便實現(xiàn)數(shù)據(jù)的查 找。
初始化模塊主要負責將配置文件轉化為便于查找的鏈表結構,將查找內容存儲到 內存的關鍵字鏈表結構。bl、讀取配置文件,確定需要讀取的查找項; b2、分析讀取的項的關鍵字關系,存入查找鏈表。初始化流程圖如圖1所示,具體的初始化執(zhí)行步驟可為 步驟101,首先傳入配置文件名稱;
步驟102,檢查文件是否存在,存在執(zhí)行步驟103,不存在執(zhí)行步驟112 ; 步驟103,讀入一行文件內容;
步驟104判斷文件是否結束,如果未結束執(zhí)行步驟105,結束則執(zhí)行步驟112 ; 步驟105,分析讀入的內容確定查找的標識符,申請節(jié)點緩存; 步驟106,分析獲取一個關鍵字內容;
步驟107,判斷關鍵字是否正確,正確則執(zhí)行108,錯誤或結束則執(zhí)行步驟103 ; 步驟108,申請關鍵字節(jié)點,并賦值; 步驟109,分析邏輯關系;
步驟110,根據(jù)邏輯關系,將關鍵字節(jié)點掛載到“與”或“或”節(jié)點下; 步驟111,執(zhí)行步驟106 ; 步驟112,初始化結束,返回。;
最后,執(zhí)行查找或查詢函數(shù)模塊,根據(jù)配置項標識查找數(shù)據(jù)內容,返回查找結果和內 容;查找或查詢函數(shù)模塊主要完成查找接口,當用戶傳入需要查找的源字符串和查找項標 識時,查找或查詢函數(shù)模塊根據(jù)查找項的關鍵字關系進行查找 Cl、取一個關鍵字內容,在源字符串中查找; C2、如果找到則根據(jù)類型,記錄查找結果,取下一個關鍵字查找; C3、如果沒有找到則取同級的“或”關鍵字; C4、查找結束將結果返回。具體的搜索流程如圖2所示,搜索步驟為 步驟201,傳入查找的步驟112字符串或二進制文件; 步驟202,獲取查找項指針;
步驟203,獲取查找項的下一個“與”關系關鍵字結構; 步驟204,如果“與”關鍵字結束執(zhí)行步驟213,否則執(zhí)行步驟205 ; 步驟205,按照當前關鍵字對源字符串或二進制數(shù)據(jù)進行查找; 步驟206,如果關鍵字找到,執(zhí)行步驟207,未找到執(zhí)行步驟208 ; 步驟207,根據(jù)關鍵字的類別,設置輸出信息; 步驟208,取下一個“或”關系關鍵字;
步驟209,如果“或”關鍵字結束執(zhí)行步驟211,否則執(zhí)行步驟210 ; 步驟210,按照當前關鍵字對源字符串或二進制數(shù)據(jù)進行查找; 步驟211,返回查找結果,查找失??;
步驟212,如果關鍵字找到,執(zhí)行步驟207,未找到執(zhí)行步驟208 ; 步驟213,返回查找結果,查找成功。本發(fā)明未涉及部分均與現(xiàn)有技術相同或可采用現(xiàn)有技術加以實現(xiàn)。
權利要求
一種可配置方式的復雜關鍵字搜索方法,其特征是它包括以下步驟首先,在搜索引擎中配置一個配置文件,在所述配置文件中配置需查找的關鍵字的查找邏輯關系;其次,在初始化程序時先讀取配置文件,按照查找項的內容和數(shù)據(jù)存儲結構存儲數(shù)據(jù);最后,執(zhí)行查找或查詢函數(shù),根據(jù)配置項標識查找數(shù)據(jù)內容,返回查找結果和內容。
2.根據(jù)權利要求1所述的方法,其特征是所述的配置文件中可含有多個查找項,每個 查找項均帶有標識符,每個查找項均可由多個關鍵字組成,關鍵字數(shù)量的上限可以設定,關 鍵字開始和結束有分割符分割,關鍵字的配置順序就是其查找時的先后順序;關鍵字的邏 輯關系包括“與”、“或”兩種;同時為關鍵字配置類別。
3.根據(jù)權利要求2所述的方法,其特征是所述的類別不查擴充類別,它包括查詢類型, 取值開始類型,取值結束類型,返回包含關鍵字類型,返回關鍵字開始到結束類型。
4.根據(jù)權利要求2所述的方法,其特征是所述的標識符=([類蕃關鍵字1])邏輯關系 ([類蕃關鍵字2])…邏輯關系([類蕃關鍵字n]),標識為可見字符,“([”為關鍵字開始 分割符,“])”為關鍵字結束分割符。
5.根據(jù)權利要求1所述的方法,其特征是所述的初始化是指(1)程序啟動或者中途需要讀入配置文件;(2)配置文件存在本地或者遠程,配置項按照配置文件的格式讀入內存;(3)配置內容按照數(shù)據(jù)結構存放每一個配置項。
6.根據(jù)權利要求1所述的方法,其特征是所述的執(zhí)行查找或查詢函數(shù)是指查找按照 配置項的標識進行單項查找,返回查找內容,執(zhí)行查詢函數(shù)是指查找按照配置項的標識進 行單項查找,返回查找結果。
全文摘要
本發(fā)明涉及一種文本,網(wǎng)頁或其他二進制內容的搜索方法,尤其是一種具有復雜關鍵字檢索結構的網(wǎng)絡搜索方法,主要是通過配置文件的方式,先對關鍵字進行配置建立索引關系,實現(xiàn)對復雜邏輯關鍵字內容的查找,從而解決關鍵字經常變化時搜索適應性和可移植性差的問題。這種技術的優(yōu)點是代碼簡單,復用性高,可實現(xiàn)復雜的邏輯關系的搜索,配置靈活,可用范圍廣。
文檔編號G06F17/30GK101916303SQ201010277130
公開日2010年12月15日 申請日期2010年9月9日 優(yōu)先權日2010年9月9日
發(fā)明者曹鏡云 申請人:南京中興特種軟件有限責任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南京市| 荃湾区| 正宁县| 晋中市| 澄迈县| 娱乐| 浪卡子县| 南雄市| 进贤县| 磴口县| 涿鹿县| 县级市| 根河市| 阿拉善右旗| 子洲县| 六盘水市| 南溪县| 紫金县| 南阳市| 登封市| 穆棱市| 镇雄县| 南漳县| 乌恰县| 奉新县| 兴业县| 河北省| 金门县| 兖州市| 漯河市| 无锡市| 河北区| 城步| 齐齐哈尔市| 虞城县| 伊金霍洛旗| 雷州市| 屯昌县| 宜川县| 辽中县| 新闻|