本發(fā)明涉及信息搜索領(lǐng)域,具體地,涉及一種表格的搜索方法及搜索平臺(tái)。
背景技術(shù):
現(xiàn)有技術(shù)中,各種項(xiàng)目的開(kāi)展越來(lái)越需要由海量的關(guān)聯(lián)表格協(xié)同進(jìn)行工作。以游戲?yàn)槔?,隨著游戲設(shè)計(jì)的深入,策劃數(shù)值表逐漸成為游戲項(xiàng)目中必不可少的一部分,它使得策劃能夠更加自由地進(jìn)行數(shù)值的調(diào)整,最重要的是它減少了工作流程和溝通成本,提高了工作效率。對(duì)于較為復(fù)雜的系統(tǒng)來(lái)說(shuō),通常策劃工作者會(huì)設(shè)計(jì)多張數(shù)值表,因此游戲的系統(tǒng)、玩法越豐富,策劃表的文件數(shù)量、數(shù)據(jù)量就會(huì)越多。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明人在實(shí)施本發(fā)明的過(guò)程中,發(fā)現(xiàn)現(xiàn)有技術(shù)存在缺陷。在游戲的系統(tǒng)、玩法豐富的情況下,表格的信息類型非常多,比如游戲中的各種福利活動(dòng),就包含了活動(dòng)編號(hào)、名稱、活動(dòng)說(shuō)明、開(kāi)始時(shí)間、觸發(fā)條件、宣傳圖和宣傳時(shí)間等各種類型的信息,且這些關(guān)聯(lián)的信息并不是分布在同一張表格中,使用現(xiàn)有的表格搜索方法,在搜索平臺(tái)上對(duì)單一關(guān)鍵詞進(jìn)行搜索,若關(guān)鍵詞只能與某些表格的內(nèi)容匹配,而不能與另外一些包含關(guān)聯(lián)信息的表格的內(nèi)容匹配,則會(huì)搜索不到全面的關(guān)聯(lián)信息,效率低下。
本發(fā)明要解決的技術(shù)問(wèn)題在于,提供一種表格的搜索方法,其能全面搜索到目標(biāo)數(shù)據(jù)的相關(guān)聯(lián)信息,提高搜索效率。
為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例的一方面提供一種表格的搜索方法,包括:
根據(jù)第一關(guān)鍵詞在數(shù)據(jù)庫(kù)的表格中查找與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù);其中,所述數(shù)據(jù)庫(kù)存儲(chǔ)了多張表格,每一表格包括多行數(shù)據(jù);
從與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取第一單元格信息作為第二關(guān)鍵詞;
根據(jù)所述第二關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)。
實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:
本發(fā)明實(shí)施例提供的表格的搜索方法,通過(guò)第一次搜索得到與第一關(guān)鍵詞匹配的部分包含目標(biāo)關(guān)聯(lián)信息的數(shù)據(jù),之后以第一次搜索的結(jié)果作為第二關(guān)鍵詞,利用第二關(guān)鍵詞與另外一些包含關(guān)聯(lián)信息的表格之間的關(guān)聯(lián)關(guān)系,執(zhí)行二次搜索,獲取到更全面的目標(biāo)數(shù)據(jù),同時(shí)提高操作上的智能化,搜索更靈活,提高搜索效率。
進(jìn)一步地,在所述根據(jù)所述第二關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)之后,還包括:
從與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取一個(gè)或多個(gè)第二單元格信息;
建立表關(guān)系集合;其中,所述表關(guān)系集合包括第一信息類型與第二信息類型的同表關(guān)聯(lián)關(guān)系、第二信息類型與第三信息類型的跨表相等關(guān)系以及第三信息類型與第四信息類型的同表關(guān)聯(lián)關(guān)系;所述第一信息類型為與所述第一單元格信息位于同一個(gè)表格的第一關(guān)鍵詞所屬的信息類型,所述第二信息類型為所述第一單元格信息所屬的信息類型,所述第三信息類型為與所述第二單元格信息位于同一個(gè)表格的第二關(guān)鍵詞所屬的信息類型,所述第四信息類型為所述第二單元格信息所屬的信息類型;
建立所述表關(guān)系集合涉及的信息類型的關(guān)系樹(shù),并將所述關(guān)系樹(shù)存儲(chǔ)于所述數(shù)據(jù)庫(kù)中;
根據(jù)用戶輸入的關(guān)系樹(shù)查找指令,從所述數(shù)據(jù)庫(kù)中調(diào)用所述關(guān)系樹(shù)查找指令所對(duì)應(yīng)的關(guān)系樹(shù),根據(jù)所述關(guān)系樹(shù)輸出符合所述關(guān)系樹(shù)查找指令的搜索結(jié)果。
在進(jìn)一步方案中,根據(jù)兩次搜索時(shí)利用到的表關(guān)聯(lián)關(guān)系,建立表關(guān)系集合,進(jìn)而建立關(guān)系樹(shù),這個(gè)關(guān)系樹(shù)清晰地再現(xiàn)了人工查表的過(guò)程,顯示了多表之間的關(guān)聯(lián)關(guān)系,在后續(xù)的搜索中,可以調(diào)用關(guān)系樹(shù)實(shí)現(xiàn)更豐富的符合用戶需求的搜索方法。
進(jìn)一步地,在所述建立表關(guān)系集合之后,還包括:按照所述表關(guān)系集合創(chuàng)建表示由所述第一信息類型查詢所述第四信息類型的自定義標(biāo)簽;
則所述根據(jù)用戶輸入的關(guān)系樹(shù)查找指令,從所述數(shù)據(jù)庫(kù)中調(diào)用所述關(guān)系樹(shù)查找指令所對(duì)應(yīng)的關(guān)系樹(shù),根據(jù)所述關(guān)系樹(shù)輸出符合所述關(guān)系樹(shù)查找指令的搜索結(jié)果,具體包括:
從用戶輸入的關(guān)系樹(shù)查找指令中識(shí)別出被用戶選擇的自定義標(biāo)簽;
從所述數(shù)據(jù)庫(kù)中調(diào)用被用戶選擇的自定義標(biāo)簽所對(duì)應(yīng)的關(guān)系樹(shù),并輸出所述關(guān)系樹(shù)供用戶查看。
該進(jìn)一步方案是關(guān)系樹(shù)的一個(gè)應(yīng)用方案,搜索平臺(tái)在建立表關(guān)系集合之后為表關(guān)系集合創(chuàng)建自定義標(biāo)簽,即為關(guān)系樹(shù)配置了自定義標(biāo)簽,自定義標(biāo)簽可供用戶搜索、選擇,當(dāng)用戶選擇了自定義標(biāo)簽后,即可展示相關(guān)的關(guān)系樹(shù)。方便用戶查看表關(guān)系結(jié)構(gòu),提高策劃填表的工作效率。
進(jìn)一步地,所述根據(jù)用戶輸入的關(guān)系樹(shù)查找指令,從所述數(shù)據(jù)庫(kù)中調(diào)用所述關(guān)系樹(shù)查找指令所對(duì)應(yīng)的關(guān)系樹(shù),根據(jù)所述關(guān)系樹(shù)輸出符合所述關(guān)系樹(shù)查找指令的搜索結(jié)果,還包括:
接收用戶輸入的第三關(guān)鍵詞,以所述第三關(guān)鍵詞作為所述關(guān)系樹(shù)的根節(jié)點(diǎn)對(duì)應(yīng)的單元格信息;
按照所述關(guān)系樹(shù)自動(dòng)生成查詢語(yǔ)句;
利用所述查詢語(yǔ)句在所述數(shù)據(jù)庫(kù)中進(jìn)行搜索,獲得所述關(guān)系樹(shù)中所有節(jié)點(diǎn)分別對(duì)應(yīng)的單元格信息,并輸出標(biāo)記了所有節(jié)點(diǎn)對(duì)應(yīng)的單元格信息的關(guān)系樹(shù)供用戶查看。
該進(jìn)一步方案是關(guān)系樹(shù)的另一個(gè)應(yīng)用方案,當(dāng)用戶選擇了自定義標(biāo)簽后,即可展示相關(guān)的關(guān)系樹(shù)。當(dāng)用戶提出第三關(guān)鍵詞,即根節(jié)點(diǎn)對(duì)應(yīng)的單元格信息,搜索平臺(tái)即可自動(dòng)生成SQL語(yǔ)句進(jìn)行全局搜索,顯示關(guān)系樹(shù)上所有節(jié)點(diǎn)對(duì)應(yīng)的單元格信息,返回與該單元格信息相關(guān)聯(lián)的所有目標(biāo)數(shù)據(jù),大大提高了搜索的效率和全面性。
進(jìn)一步地,所述關(guān)系樹(shù)查找指令為自然語(yǔ)言語(yǔ)句;
所述從用戶輸入的關(guān)系樹(shù)查找指令中識(shí)別出被用戶選擇的自定義標(biāo)簽,具體包括:
通過(guò)分詞算法對(duì)用戶輸入的所述自然語(yǔ)言語(yǔ)句進(jìn)行處理,得到多個(gè)詞組;
通過(guò)歸類算法將所述多個(gè)詞組歸類到與所述多個(gè)詞組匹配的自定義標(biāo)簽;
提取所述與所述多個(gè)詞組匹配的自定義標(biāo)簽為被用戶選擇的自定義標(biāo)簽。
該進(jìn)一步方案是關(guān)系樹(shù)的又一個(gè)應(yīng)用方案,當(dāng)用戶選擇了自定義標(biāo)簽后,即可展示相關(guān)的關(guān)系樹(shù)。而由于自定義標(biāo)簽清晰地標(biāo)記了信息類型之間的關(guān)系,因此,用戶可以以自然語(yǔ)言語(yǔ)句進(jìn)行搜索目標(biāo)數(shù)據(jù)。比如,用戶要查看“道具粽葉的價(jià)格是多少”,通過(guò)分詞和歸類算法,可獲得標(biāo)簽“由道具名稱查詢價(jià)格”,以及第三關(guān)鍵詞“粽葉”。使用自然語(yǔ)言語(yǔ)句搜索目標(biāo)數(shù)據(jù),更方便用戶搜索。
進(jìn)一步地,所述從與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取第一單元格信息作為第二關(guān)鍵詞,具體包括:
接收用戶的二次搜索指令;其中,所述二次搜索指令包括選擇指令,所述選擇指令用于從所述與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中選擇一個(gè)單元格信息;
標(biāo)記所述選擇指令所對(duì)應(yīng)的單元格信息為第一單元格信息,并將所述第一單元格信息作為第二關(guān)鍵詞;
則所述根據(jù)所述第二關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù),具體包括:
識(shí)別所述二次搜索指令中是否包含第四關(guān)鍵詞;
若所述二次搜索指令中包含第四關(guān)鍵詞,則根據(jù)所述第四關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的部分表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù);其中,所述部分表格為表格名稱中包含有第四關(guān)鍵詞的表格;
若所述二次搜索指令中沒(méi)有包含第四關(guān)鍵詞,則根據(jù)所述第二關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的全部表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)。
進(jìn)一步地,所述數(shù)據(jù)庫(kù)的配置方法包括:
讀取用戶上傳的原始表格文件;其中,所述原始表格文件中包含多個(gè)原始表,每一所述原始表包含多個(gè)子表;
讀取所有所述原始表的名稱以及所述子表的名稱,生成記載表格名稱及表格序號(hào)總表;
讀取每一所述子表中的所有數(shù)據(jù),自動(dòng)創(chuàng)建與每一所述子表對(duì)應(yīng)的表格;
添加所述總表和所述與每一所述子表對(duì)應(yīng)的表格到所述數(shù)據(jù)庫(kù)中;
則所述根據(jù)第一關(guān)鍵詞在數(shù)據(jù)庫(kù)的表格中查找與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù),包括:
從所述數(shù)據(jù)庫(kù)的總表中讀取第N個(gè)表格名稱;
在第N個(gè)表格名稱所對(duì)應(yīng)的表格中進(jìn)行第一關(guān)鍵詞的搜索;
若所述第N個(gè)表格名稱所對(duì)應(yīng)的表格中包含所述第一關(guān)鍵詞,則向用戶輸出所述第一關(guān)鍵詞所在行的所有數(shù)據(jù)以及所述第N個(gè)表格的表格名稱供用戶查看;并讀取所述數(shù)據(jù)庫(kù)的總表中的下一個(gè)表格名稱;
若所述第N個(gè)表格名稱所對(duì)應(yīng)的表格中沒(méi)有包含所述第一關(guān)鍵詞,則讀取所述數(shù)據(jù)庫(kù)的總表中的下一個(gè)表格名稱。
本發(fā)明實(shí)施例的另一方面提供一種表格的搜索平臺(tái),包括:
第一查找模塊,用于根據(jù)第一關(guān)鍵詞在數(shù)據(jù)庫(kù)的表格中查找與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù);其中,所述數(shù)據(jù)庫(kù)存儲(chǔ)了多張表格,每一表格包括多行數(shù)據(jù);
第一提取模塊,用于從與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取第一單元格信息作為第二關(guān)鍵詞;
第二查找模塊,用于根據(jù)所述第二關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)。
實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:
本發(fā)明實(shí)施例提供的表格的搜索平臺(tái),通過(guò)第一次搜索得到與第一關(guān)鍵詞匹配的部分包含目標(biāo)關(guān)聯(lián)信息的數(shù)據(jù),之后以第一次搜索的結(jié)果作為第二關(guān)鍵詞,利用第二關(guān)鍵詞與另外一些包含關(guān)聯(lián)信息的表格之間的關(guān)聯(lián)關(guān)系,執(zhí)行二次搜索,獲取到更全面的目標(biāo)數(shù)據(jù),同時(shí)提高操作上的智能化,搜索更靈活,提高搜索效率。
進(jìn)一步地,所述搜索平臺(tái)還包括:
第二提取模塊,用于從與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取一個(gè)或多個(gè)第二單元格信息;
集合建立模塊,用于建立表關(guān)系集合;其中,所述表關(guān)系集合包括第一信息類型與第二信息類型的同表關(guān)聯(lián)關(guān)系、第二信息類型與第三信息類型的跨表相等關(guān)系以及第三信息類型與第四信息類型的同表關(guān)聯(lián)關(guān)系;所述第一信息類型為與所述第一單元格信息位于同一個(gè)表格的第一關(guān)鍵詞所屬的信息類型,所述第二信息類型為所述第一單元格信息所屬的信息類型,所述第三信息類型為與所述第二單元格信息位于同一個(gè)表格的第二關(guān)鍵詞所屬的信息類型,所述第四信息類型為所述第二單元格信息所屬的信息類型;
關(guān)系樹(shù)建立模塊,用于建立所述表關(guān)系集合涉及的信息類型的關(guān)系樹(shù),并將所述關(guān)系樹(shù)存儲(chǔ)于所述數(shù)據(jù)庫(kù)中;
深度搜索模塊,用于根據(jù)用戶輸入的關(guān)系樹(shù)查找指令,從所述數(shù)據(jù)庫(kù)中調(diào)用所述關(guān)系樹(shù)查找指令所對(duì)應(yīng)的關(guān)系樹(shù),根據(jù)所述關(guān)系樹(shù)輸出符合所述關(guān)系樹(shù)查找指令的搜索結(jié)果。
進(jìn)一步地,所述搜索平臺(tái)還包括標(biāo)簽創(chuàng)建模塊,用于在所述建立表關(guān)系集合之后,按照所述表關(guān)系集合創(chuàng)建表示由所述第一信息類型查詢所述第四信息類型的自定義標(biāo)簽;
則所述深度搜索模塊包括:
第一識(shí)別單元,用于從用戶輸入的關(guān)系樹(shù)查找指令中識(shí)別出被用戶選擇的自定義標(biāo)簽;
第一輸出單元,用于從所述數(shù)據(jù)庫(kù)中調(diào)用被用戶選擇的自定義標(biāo)簽所對(duì)應(yīng)的關(guān)系樹(shù),并輸出所述關(guān)系樹(shù)供用戶查看。
進(jìn)一步地,所述深度搜索模塊,還包括:
第二識(shí)別單元,用于從用戶輸入的關(guān)系樹(shù)查找指令中識(shí)別出用戶輸入的第三關(guān)鍵詞,以所述第三關(guān)鍵詞作為所述關(guān)系樹(shù)的根節(jié)點(diǎn)對(duì)應(yīng)的單元格信息;
語(yǔ)句生成單元,用于按照所述關(guān)系樹(shù)自動(dòng)生成查詢語(yǔ)句;
第二輸出單元,用于利用所述查詢語(yǔ)句在所述數(shù)據(jù)庫(kù)中進(jìn)行搜索,獲得所述關(guān)系樹(shù)中所有節(jié)點(diǎn)分別對(duì)應(yīng)的單元格信息,并輸出標(biāo)記了所有節(jié)點(diǎn)對(duì)應(yīng)的單元格信息的關(guān)系樹(shù)供用戶查看。
進(jìn)一步地,所述關(guān)系樹(shù)查找指令為自然語(yǔ)言語(yǔ)句;
所述第一識(shí)別單元包括:
分詞子單元,用于通過(guò)分詞算法對(duì)用戶輸入的所述自然語(yǔ)言語(yǔ)句進(jìn)行處理,得到多個(gè)詞組;
歸類子單元,用于通過(guò)歸類算法將所述多個(gè)詞組歸類到與所述多個(gè)詞組匹配的自定義標(biāo)簽;
標(biāo)簽提取子單元,用于提取所述與所述多個(gè)詞組匹配的自定義標(biāo)簽為被用戶選擇的自定義標(biāo)簽。
進(jìn)一步地,其特征在于,所述第一提取模塊包括:
接收單元,用于接收用戶的二次搜索指令;其中,所述二次搜索指令包括選擇指令,所述選擇指令用于從所述與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中選擇一個(gè)單元格信息;
標(biāo)記單元,用于標(biāo)記所述選擇指令所對(duì)應(yīng)的單元格信息為第一單元格信息,并將所述第一單元格信息作為第二關(guān)鍵詞;
則所述第二查找模塊包括:
第三識(shí)別單元,用于識(shí)別所述二次搜索指令中是否包含第四關(guān)鍵詞;
第一搜索單元,用于若所述二次搜索指令中包含第四關(guān)鍵詞,則根據(jù)所述第四關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的部分表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù);其中,所述部分表格為表格名稱中包含有第四關(guān)鍵詞的表格;
第二搜索單元,用于若所述二次搜索指令中沒(méi)有包含第四關(guān)鍵詞,則根據(jù)所述第二關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的全部表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)。
進(jìn)一步地,所述數(shù)據(jù)庫(kù)的配置方法包括:
讀取用戶上傳的原始表格文件;其中,所述原始表格文件中包含多個(gè)原始表,每一所述原始表包含多個(gè)子表;
讀取所有所述原始表的名稱以及所述子表的名稱,生成記載表格名稱及表格序號(hào)的總表;
讀取每一所述子表中的所有數(shù)據(jù),自動(dòng)創(chuàng)建與每一所述子表對(duì)應(yīng)的表格;
添加所述總表和所述與每一所述子表對(duì)應(yīng)的表格到所述數(shù)據(jù)庫(kù)中;
則所述第一查找模塊包括:
讀取單元,用于從所述數(shù)據(jù)庫(kù)的總表中讀取第N個(gè)表格名稱;
第三搜索單元,用于在第N個(gè)表格名稱所對(duì)應(yīng)的表格中進(jìn)行第一關(guān)鍵詞的搜索;
異步加載單元,用于若所述第N個(gè)表格名稱所對(duì)應(yīng)的表格中包含所述第一關(guān)鍵詞,則向用戶輸出所述第一關(guān)鍵詞所在行的所有數(shù)據(jù)以及所述第N個(gè)表格的表格名稱供用戶查看;并讀取所述數(shù)據(jù)庫(kù)的總表中的下一個(gè)表格名稱;
二次讀取單元,用于若所述第N個(gè)表格名稱所對(duì)應(yīng)的表格中沒(méi)有包含所述第一關(guān)鍵詞,則讀取所述數(shù)據(jù)庫(kù)的總表中的下一個(gè)表格名稱。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例一提供的表格的搜索方法的流程圖;
圖2是本發(fā)明的數(shù)據(jù)庫(kù)的更新流程圖;
圖3是圖1中步驟S11的一種實(shí)施方式的原理示意圖;
圖4是本發(fā)明實(shí)施例一中關(guān)系樹(shù)的一個(gè)舉例;
圖5是是用戶輸入第三關(guān)鍵詞后,采用圖4所示的關(guān)系樹(shù)進(jìn)行搜索的結(jié)果示意圖;
圖6是根據(jù)第三關(guān)鍵詞搜索關(guān)系樹(shù)上所有節(jié)點(diǎn)對(duì)應(yīng)的單元格信息的示意圖;
圖7是本發(fā)明實(shí)施例二提供的表格的搜索平臺(tái)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參見(jiàn)圖1,是本發(fā)明實(shí)施例一提供的表格的搜索方法的流程圖;一種表格的搜索方法,包括:
S11、根據(jù)第一關(guān)鍵詞在數(shù)據(jù)庫(kù)的表格中查找與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù);其中,所述數(shù)據(jù)庫(kù)存儲(chǔ)了多張表格,每一表格包括多行數(shù)據(jù);
S12、從與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取第一單元格信息作為第二關(guān)鍵詞;
S13、根據(jù)所述第二關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)。
下面提供一種優(yōu)選的數(shù)據(jù)庫(kù)的配置方法,包括:
讀取用戶上傳的原始表格文件;其中,所述原始表格文件中包含多個(gè)原始表,每一所述原始表包含多個(gè)子表;
讀取所有所述原始表的名稱以及所述子表的名稱,生成記載表格名稱及表格序號(hào)的總表;
讀取每一所述子表中的所有數(shù)據(jù),自動(dòng)創(chuàng)建與每一所述子表對(duì)應(yīng)的表格;
添加所述總表和所述與每一所述子表對(duì)應(yīng)的表格到所述數(shù)據(jù)庫(kù)中。
上述數(shù)據(jù)庫(kù)的配置方法,可將用戶本地計(jì)算機(jī)的表格文件全部導(dǎo)入數(shù)據(jù)庫(kù)。先讀取原始表的名稱及子表的名稱,具體地,原始表可為一個(gè)個(gè)Excel表,而子表則為Excel表中的sheet;根據(jù)Excel表名、sheet名生成總表,總表中每行記載每個(gè)Excel表的sheet名,每個(gè)sheet名對(duì)應(yīng)一個(gè)表序號(hào),如第三行第二列,表序號(hào)為B3;總表可起到索引的作用,便于對(duì)數(shù)據(jù)庫(kù)中的所有表格的搜索。再依次讀取原始表格文件中每張sheet的表頭、每列的數(shù)據(jù)類型,其中,表頭對(duì)應(yīng)本發(fā)明的信息類型,記載在每張sheet的第一行,從而拉取原sheet表中的所有數(shù)據(jù),包括信息類型、與信息類型對(duì)應(yīng)的各單元格信息,載入到在所述數(shù)據(jù)庫(kù)中的表格。
進(jìn)一步地,參見(jiàn)圖2,是本發(fā)明的數(shù)據(jù)庫(kù)的更新流程圖;數(shù)據(jù)庫(kù)的更新由平臺(tái)定時(shí)拉取表格SVN倉(cāng)庫(kù)信息,當(dāng)表格文件有新的提交時(shí),自動(dòng)讀取SVN變更記錄,在總表中對(duì)修改的(包含增加的)、刪除的表格分別進(jìn)行標(biāo)記,接著對(duì)標(biāo)記文件對(duì)應(yīng)的表格進(jìn)行相應(yīng)操作——重新載入或刪除。由于現(xiàn)有技術(shù)在搜索平臺(tái)服務(wù)器上拉取表格文件,將表格文件一次性全部讀入內(nèi)存,后續(xù)的查詢操作都在內(nèi)存中進(jìn)行,如果表格文件較多,則會(huì)占用較多的內(nèi)存資源,對(duì)服務(wù)器性能有較高的要求,每次任何表格有修改,都需要人工操作更新內(nèi)存數(shù)據(jù),而且內(nèi)存中的數(shù)據(jù)都需要全部重新載入一遍,而不是針對(duì)性地僅重新導(dǎo)入修改文件。這些問(wèn)題導(dǎo)致現(xiàn)有搜索平臺(tái)的可移植性差,效率低。而本發(fā)明利用表格文件的表格特性,將文件數(shù)據(jù)全部導(dǎo)入到數(shù)據(jù)庫(kù)中,再根據(jù)SVN的提交記錄定時(shí)對(duì)變化的表內(nèi)容進(jìn)行更新。減小了數(shù)據(jù)維護(hù)成本,提高了搜索效率。
參見(jiàn)圖3,是步驟S11的一種實(shí)施方式的原理示意圖;步驟S11、所述根據(jù)第一關(guān)鍵詞在數(shù)據(jù)庫(kù)的表格中查找與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù),包括:
從所述數(shù)據(jù)庫(kù)的總表中讀取第N個(gè)表格名稱;
在第N個(gè)表格名稱所對(duì)應(yīng)的表格中進(jìn)行第一關(guān)鍵詞的搜索;
若所述第N個(gè)表格名稱所對(duì)應(yīng)的表格中包含所述第一關(guān)鍵詞,則向用戶輸出所述第一關(guān)鍵詞所在行的所有數(shù)據(jù)以及所述第N個(gè)表格的表格名稱供用戶查看;并讀取所述數(shù)據(jù)庫(kù)的總表中的下一個(gè)表格名稱;
若所述第N個(gè)表格名稱所對(duì)應(yīng)的表格中沒(méi)有包含所述第一關(guān)鍵詞,則讀取所述數(shù)據(jù)庫(kù)的總表中的下一個(gè)表格名稱。
一般地,搜索平臺(tái)包括與用戶交互的前端、執(zhí)行上述搜索方法的服務(wù)端和數(shù)據(jù)庫(kù),平臺(tái)服務(wù)端根據(jù)總表記錄依次對(duì)每個(gè)表格進(jìn)行搜索,如果查詢到關(guān)鍵詞則返回結(jié)果。在查詢過(guò)程中與前端有交互,實(shí)現(xiàn)了多次請(qǐng)求、異步加載的查詢和顯示模式。這種實(shí)現(xiàn)方式提高了用戶體驗(yàn),面對(duì)大量數(shù)據(jù)表的搜索,用戶可以在1-2s內(nèi)在前端看到第一個(gè)查詢結(jié)果,大幅減少了用戶的等待時(shí)間。并且在用戶查看已有結(jié)果的同時(shí)繼續(xù)對(duì)剩余表進(jìn)行查詢并返回結(jié)果,提高平臺(tái)響應(yīng)效率。此外,前端對(duì)行數(shù)據(jù)的顯示可采用跟表格文件相同的表格形式,符合用戶的使用習(xí)慣。為了方便用戶定位目標(biāo)數(shù)據(jù),還可對(duì)關(guān)鍵詞進(jìn)行染色。
下面具體說(shuō)明步驟S11~S13所起到的有益效果:
步驟S11~S13,通過(guò)第一次搜索得到與第一關(guān)鍵詞匹配的部分包含目標(biāo)關(guān)聯(lián)信息的數(shù)據(jù),之后以第一次搜索的結(jié)果作為第二關(guān)鍵詞,利用第二關(guān)鍵詞與另外一些包含關(guān)聯(lián)信息的表格之間的關(guān)聯(lián)關(guān)系,執(zhí)行二次搜索,獲取到更全面的目標(biāo)數(shù)據(jù),同時(shí)提高操作上的智能化,搜索更靈活,提高搜索效率。
比如,在游戲策劃表中,涉及游戲道具的策劃表往往有多個(gè)。比如直接用于記載道具編號(hào)、名稱和銀幣定價(jià)的道具數(shù)據(jù)表,由于游戲道具在游戲中可售賣、拍賣,因此還涉及記載商品編號(hào)和商品價(jià)格的商城商品表,以及記載物品編號(hào)和金幣官價(jià)的拍賣行配置表。使用現(xiàn)有技術(shù)的對(duì)單一關(guān)鍵詞進(jìn)行搜索獲得目標(biāo)關(guān)聯(lián)信息的方法,輸入道具名稱,比如“粽葉”,僅能搜索到包含了道具名稱“粽葉”的道具數(shù)據(jù)表中的內(nèi)容,包括粽葉的編號(hào)001和銀幣定價(jià)800,而由于商城商品表和拍賣行配置表中不涉及道具名稱,因此不能被搜索到。而采用本發(fā)明提供的表格的搜索方法,在通過(guò)第一次搜索得到與粽葉匹配的粽葉編號(hào)和銀幣定價(jià)后,以其中一個(gè)信息,如粽葉的編號(hào)001,作為第二關(guān)鍵詞,即可搜索到商城商品表中與商品編號(hào)001相關(guān)的信息——粽葉的商品價(jià)格,以及拍賣行配置表中與物品編號(hào)001相關(guān)的信息——粽葉的金幣官價(jià)。
需要說(shuō)明的是,在本發(fā)明中,以“行”、“列”等詞說(shuō)明表格的結(jié)構(gòu),僅是為了描述方便,使用符合本領(lǐng)域技術(shù)人員一般性地采用的對(duì)表格的排布方式描述,應(yīng)理解,在策劃表結(jié)構(gòu)中可重新安排所述“行”、“列”的排布,比如將其調(diào)轉(zhuǎn),本發(fā)明不對(duì)表格的排布進(jìn)行限定。在本發(fā)明中,依照本領(lǐng)域技術(shù)人員的使用習(xí)慣,表格包含多行數(shù)據(jù),其中每行數(shù)據(jù)記載每個(gè)項(xiàng)目的信息,由于每個(gè)項(xiàng)目具有不同的信息,因此一行數(shù)據(jù)中包含多個(gè)單元格信息,每一單元格所在的列記載一種信息類型的數(shù)據(jù)。以游戲策劃表為例,比如在道具數(shù)據(jù)表中,每個(gè)項(xiàng)目指每種道具,信息類型指編號(hào)和名稱。在以第一關(guān)鍵詞“粽葉”進(jìn)行搜索后,若有多行粽葉的數(shù)據(jù),比如粽葉1、粽葉2和粽葉3,則在多行數(shù)據(jù)中提取一個(gè)單元格信息,該單元格信息對(duì)應(yīng)一種信息類型,利用該信息類型與其他表格的信息類型的跨表相等關(guān)系,搜索更多的數(shù)據(jù)。
具體地,“從與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取第一單元格信息”包括從與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取一個(gè)單元格信息標(biāo)記為第一單元格信息,或者從與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取兩個(gè)或者多個(gè)單元格信息,并將其中每一單元格信息均標(biāo)記為第一單元格信息;對(duì)于提取兩個(gè)或多個(gè)單元格信息標(biāo)記為第一單元格信息的情況,以每一第一單元格信息分別作為第二關(guān)鍵詞,執(zhí)行查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)的步驟;
此外,“從與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取第一單元格信息”,可以有多種實(shí)施方式,比如以預(yù)設(shè)算法的方式提取:根據(jù)歷史數(shù)據(jù),平臺(tái)自動(dòng)識(shí)別檢索得到的多行數(shù)據(jù)中跨表相等關(guān)系最多的一個(gè)或多個(gè)單元格信息作為第一單元格信息;或者是輸出搜索到的表格名稱及表格的多行數(shù)據(jù)供用戶查看,以用戶的選擇為提取第一單元格信息的準(zhǔn)則。
即進(jìn)一步地,步驟S12、從與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取第一單元格信息作為第二關(guān)鍵詞,具體包括:
接收用戶的二次搜索指令;其中,所述二次搜索指令包括選擇指令,所述選擇指令用于從所述與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中選擇一個(gè)單元格信息;
標(biāo)記所述選擇指令所對(duì)應(yīng)的單元格信息為第一單元格信息,并將所述第一單元格信息作為第二關(guān)鍵詞。
為了提高搜索效率,用戶在選擇第一單元格信息時(shí),還可增加信息縮小搜索范圍,即步驟S13、根據(jù)所述第二關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù),具體包括:
識(shí)別所述二次搜索指令中是否包含第四關(guān)鍵詞;
若所述二次搜索指令中包含第四關(guān)鍵詞,則根據(jù)所述第四關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的部分表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù);其中,所述部分表格為表格名稱中包含有第四關(guān)鍵詞的表格;
若所述二次搜索指令中沒(méi)有包含第四關(guān)鍵詞,則根據(jù)所述第二關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的全部表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)。
進(jìn)一步地,在步驟S13、根據(jù)所述第二關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)之后,還包括:
S14、從與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取一個(gè)或多個(gè)第二單元格信息;
S15、建立表關(guān)系集合;其中,所述表關(guān)系集合包括第一信息類型與第二信息類型的同表關(guān)聯(lián)關(guān)系、第二信息類型與第三信息類型的跨表相等關(guān)系以及第三信息類型與第四信息類型的同表關(guān)聯(lián)關(guān)系;所述第一信息類型為與所述第一單元格信息位于同一個(gè)表格的第一關(guān)鍵詞所屬的信息類型,所述第二信息類型為所述第一單元格信息所屬的信息類型,所述第三信息類型為與所述第二單元格信息位于同一個(gè)表格的第二關(guān)鍵詞所屬的信息類型,所述第四信息類型為所述第二單元格信息所屬的信息類型;
S16、建立所述表關(guān)系集合涉及的信息類型的關(guān)系樹(shù),并將所述關(guān)系樹(shù)存儲(chǔ)于所述數(shù)據(jù)庫(kù)中;
S17、根據(jù)用戶輸入的關(guān)系樹(shù)查找指令,從所述數(shù)據(jù)庫(kù)中調(diào)用所述關(guān)系樹(shù)查找指令所對(duì)應(yīng)的關(guān)系樹(shù),根據(jù)所述關(guān)系樹(shù)輸出符合所述關(guān)系樹(shù)查找指令的搜索結(jié)果。
在進(jìn)一步方案中,根據(jù)兩次搜索時(shí)利用到的表關(guān)聯(lián)關(guān)系,建立表關(guān)系集合,進(jìn)而建立關(guān)系樹(shù),這個(gè)關(guān)系樹(shù)清晰地再現(xiàn)了人工查表的過(guò)程,顯示了多表之間的關(guān)聯(lián)關(guān)系,在后續(xù)的搜索中,可以調(diào)用關(guān)系樹(shù)實(shí)現(xiàn)更豐富的符合用戶需求的搜索方法。一般地,關(guān)系樹(shù)的建立可使用DFS(Depth First Search,深度優(yōu)先搜索)算法實(shí)現(xiàn)。
參見(jiàn)圖4,是本發(fā)明實(shí)施例一中關(guān)系樹(shù)的一個(gè)舉例;輸入第一關(guān)鍵詞“粽葉”后,在通過(guò)第一次搜索得到與粽葉匹配的編號(hào)和銀幣定價(jià)后,以其中一個(gè)信息,如粽葉的編號(hào)001,作為第二關(guān)鍵詞,會(huì)再次搜索到道具數(shù)據(jù)表中的銀幣定價(jià),還會(huì)搜索到商城商品表中與商品編號(hào)001相關(guān)的信息——粽葉的商品價(jià)格,以及拍賣行配置表中與物品編號(hào)001相關(guān)的信息——粽葉的金幣官價(jià)。在這個(gè)過(guò)程中:
A、以第一關(guān)鍵詞查找到的同一行的數(shù)據(jù),每個(gè)單元格信息與其他單元格信息都處于同一策劃表,相互間具有同表關(guān)聯(lián)關(guān)系;其中,使用了第一關(guān)鍵詞所屬的信息類型與第一單元格信息所屬的的信息類型同表關(guān)聯(lián)關(guān)系,即道具名稱和編號(hào)在道具數(shù)據(jù)表中的同表關(guān)聯(lián)關(guān)系;
B、根據(jù)第一單元格信息獲得第二關(guān)鍵詞,搜索得到包含了第二關(guān)鍵詞的多行數(shù)據(jù),多行數(shù)據(jù)中必然包括多個(gè)與第二關(guān)鍵詞匹配的單元格信息,這些匹配的單元格信息與第一單元格信息所屬信息類型相等,具有跨表相等關(guān)系;其中,使用了第一單元格信息所屬的信息類型,以及與后續(xù)被提取的第二單元格信息同行的第二關(guān)鍵詞所屬的信息類型之間的跨表相等關(guān)系;即道具數(shù)據(jù)表中的編號(hào)與商城商品表的商品編號(hào)之間的跨表相等關(guān)系,以及道具數(shù)據(jù)表中的編號(hào)與拍賣行配置表的物品編號(hào)之間的跨表相等關(guān)系;
C、搜索得到的第二關(guān)鍵詞的多行數(shù)據(jù)中,除了與第二關(guān)鍵詞匹配的單元格信息外,還有與第二關(guān)鍵詞同行的其他單元格信息,這些單元格信息經(jīng)篩選提取,為第二單元格信息,與同行的第二關(guān)鍵詞屬于同表關(guān)聯(lián)關(guān)系;即商城商品表中的商品編號(hào)與商品價(jià)格,拍賣行配置表中的物品編號(hào)和金幣官價(jià)。
D、根據(jù)第一單元格信息獲得第二關(guān)鍵詞,搜索得到包含了第二關(guān)鍵詞的多行數(shù)據(jù),多行數(shù)據(jù)中必然包括與第二關(guān)鍵詞、第一關(guān)鍵詞同行的其他單元格信息,比如道具數(shù)據(jù)表中的銀幣定價(jià),此銀幣定價(jià)與編號(hào)為同表關(guān)聯(lián)關(guān)系。
根據(jù)上述表關(guān)系,可建立如圖4所示的關(guān)系樹(shù)。可利用關(guān)系樹(shù)執(zhí)行深度搜索。下面具體講述關(guān)系樹(shù)的多種應(yīng)用方案:
(1)在步驟S15、所述建立表關(guān)系集合之后,還包括:按照所述表關(guān)系集合創(chuàng)建表示由所述第一信息類型查詢所述第四信息類型的自定義標(biāo)簽;
步驟S17、所述根據(jù)用戶輸入的關(guān)系樹(shù)查找指令,從所述數(shù)據(jù)庫(kù)中調(diào)用所述關(guān)系樹(shù)查找指令所對(duì)應(yīng)的關(guān)系樹(shù),根據(jù)所述關(guān)系樹(shù)輸出符合所述關(guān)系樹(shù)查找指令的搜索結(jié)果,具體包括:
從用戶輸入的關(guān)系樹(shù)查找指令中識(shí)別出被用戶選擇的自定義標(biāo)簽;
從所述數(shù)據(jù)庫(kù)中調(diào)用被用戶選擇的自定義標(biāo)簽所對(duì)應(yīng)的關(guān)系樹(shù),并輸出所述關(guān)系樹(shù)供用戶查看。
該方案是關(guān)系樹(shù)的一個(gè)應(yīng)用方案,搜索平臺(tái)在建立表關(guān)系集合之后為表關(guān)系集合創(chuàng)建自定義標(biāo)簽,即為關(guān)系樹(shù)配置了自定義標(biāo)簽,自定義標(biāo)簽可供用戶搜索、選擇,當(dāng)用戶選擇了自定義標(biāo)簽后,即可展示相關(guān)的關(guān)系樹(shù)。方便用戶查看表關(guān)系結(jié)構(gòu),提高策劃填表的工作效率。
(2)在步驟S15、所述建立表關(guān)系集合之后,還包括:按照所述表關(guān)系集合創(chuàng)建表示由所述第一信息類型查詢所述第四信息類型的自定義標(biāo)簽;
步驟S17、根據(jù)用戶輸入的關(guān)系樹(shù)查找指令,從所述數(shù)據(jù)庫(kù)中調(diào)用所述關(guān)系樹(shù)查找指令所對(duì)應(yīng)的關(guān)系樹(shù),根據(jù)所述關(guān)系樹(shù)輸出符合所述關(guān)系樹(shù)查找指令的搜索結(jié)果,包括:
從用戶輸入的關(guān)系樹(shù)查找指令中識(shí)別出被用戶選擇的自定義標(biāo)簽;
從所述數(shù)據(jù)庫(kù)中調(diào)用被用戶選擇的自定義標(biāo)簽所對(duì)應(yīng)的關(guān)系樹(shù),并輸出所述關(guān)系樹(shù)供用戶查看;
接收用戶輸入的第三關(guān)鍵詞,以所述第三關(guān)鍵詞作為所述關(guān)系樹(shù)的根節(jié)點(diǎn)對(duì)應(yīng)的單元格信息;
按照所述關(guān)系樹(shù)自動(dòng)生成查詢語(yǔ)句;
利用所述查詢語(yǔ)句在所述數(shù)據(jù)庫(kù)中進(jìn)行搜索,獲得所述關(guān)系樹(shù)中所有節(jié)點(diǎn)分別對(duì)應(yīng)的單元格信息,并輸出標(biāo)記了所有節(jié)點(diǎn)對(duì)應(yīng)的單元格信息的關(guān)系樹(shù)供用戶查看。
該方案是關(guān)系樹(shù)的另一個(gè)應(yīng)用方案,當(dāng)用戶選擇了自定義標(biāo)簽后,即可展示相關(guān)的關(guān)系樹(shù)。如圖5所示,圖5是用戶輸入第三關(guān)鍵詞后,采用圖4所示的關(guān)系樹(shù)進(jìn)行搜索的結(jié)果。當(dāng)用戶提出第三關(guān)鍵詞“粽葉”,即關(guān)系樹(shù)中的根節(jié)點(diǎn)對(duì)應(yīng)的單元格信息為“粽葉”,搜索平臺(tái)即可自動(dòng)生成查詢語(yǔ)句進(jìn)行全局搜索,顯示關(guān)系樹(shù)上所有節(jié)點(diǎn)對(duì)應(yīng)的單元格信息,返回與該單元格信息相關(guān)聯(lián)的所有目標(biāo)數(shù)據(jù),大大提高了搜索的效率和全面性。具體的搜索方法如圖6所示。其中,查詢語(yǔ)句可為SQL查詢語(yǔ)句;當(dāng)用戶選定一個(gè)根節(jié)點(diǎn)的具體值作為關(guān)鍵字時(shí),在DFS算法形成關(guān)系樹(shù)的基礎(chǔ)上,自動(dòng)生成同表、跨表SQL查詢語(yǔ)句,在表格數(shù)據(jù)庫(kù)中進(jìn)行搜索,當(dāng)有結(jié)果返回時(shí)則繼續(xù)壓棧遞歸查找,直到查詢到所有的目標(biāo)信息。
(3)在步驟S15、所述建立表關(guān)系集合之后,還包括:按照所述表關(guān)系集合創(chuàng)建表示由所述第一信息類型查詢所述第四信息類型的自定義標(biāo)簽;
所述關(guān)系樹(shù)查找指令為自然語(yǔ)言語(yǔ)句;
則步驟S17、根據(jù)用戶輸入的關(guān)系樹(shù)查找指令,從所述數(shù)據(jù)庫(kù)中調(diào)用所述關(guān)系樹(shù)查找指令所對(duì)應(yīng)的關(guān)系樹(shù),根據(jù)所述關(guān)系樹(shù)輸出符合所述關(guān)系樹(shù)查找指令的搜索結(jié)果,包括:
從用戶輸入的關(guān)系樹(shù)查找指令中識(shí)別出被用戶選擇的自定義標(biāo)簽;
從所述數(shù)據(jù)庫(kù)中調(diào)用被用戶選擇的自定義標(biāo)簽所對(duì)應(yīng)的關(guān)系樹(shù),并輸出所述關(guān)系樹(shù)供用戶查看;
接收用戶輸入的第三關(guān)鍵詞,以所述第三關(guān)鍵詞作為所述關(guān)系樹(shù)的根節(jié)點(diǎn)對(duì)應(yīng)的單元格信息;
按照所述關(guān)系樹(shù)自動(dòng)生成查詢語(yǔ)句;
利用所述查詢語(yǔ)句在所述數(shù)據(jù)庫(kù)中進(jìn)行搜索,獲得所述關(guān)系樹(shù)中所有節(jié)點(diǎn)分別對(duì)應(yīng)的單元格信息,并輸出標(biāo)記了所有節(jié)點(diǎn)對(duì)應(yīng)的單元格信息的關(guān)系樹(shù)供用戶查看。
其中,所述“從用戶輸入的關(guān)系樹(shù)查找指令中識(shí)別出被用戶選擇的自定義標(biāo)簽”,具體包括:
通過(guò)分詞算法對(duì)用戶輸入的所述自然語(yǔ)言語(yǔ)句進(jìn)行處理,得到多個(gè)詞組;
通過(guò)歸類算法將所述多個(gè)詞組歸類到與所述多個(gè)詞組匹配的自定義標(biāo)簽;
提取所述與所述多個(gè)詞組匹配的自定義標(biāo)簽為被用戶選擇的自定義標(biāo)簽。
該方案是關(guān)系樹(shù)的又一個(gè)應(yīng)用方案,當(dāng)用戶選擇了自定義標(biāo)簽后,即可展示相關(guān)的關(guān)系樹(shù)。而由于自定義標(biāo)簽清晰地標(biāo)記了信息類型之間的關(guān)系,因此,用戶可以以自然語(yǔ)言語(yǔ)句進(jìn)行搜索目標(biāo)數(shù)據(jù)。比如,用戶要查看“道具粽葉的價(jià)格是多少”,通過(guò)分詞和歸類算法,可獲得標(biāo)簽“由道具名稱查詢價(jià)格”,即可搜索到與標(biāo)簽“由道具名稱查詢價(jià)格”對(duì)應(yīng)的關(guān)系樹(shù);進(jìn)一步地,還可識(shí)別出第三關(guān)鍵詞“粽葉”。使用自然語(yǔ)言語(yǔ)句搜索目標(biāo)數(shù)據(jù),更方便用戶搜索。
綜上所述,本發(fā)明實(shí)施例一有效簡(jiǎn)化了表關(guān)系配置流程,由傳統(tǒng)的管理員人工配置變?yōu)樵谒阉鬟^(guò)程中自動(dòng)保存表關(guān)系的配置方式,向用戶展示關(guān)系樹(shù),還原了搜索過(guò)程,實(shí)現(xiàn)了表關(guān)系自動(dòng)生成。并且簡(jiǎn)化了搜索步驟,提高了表關(guān)系配置效率,也降低了表關(guān)系配置的出錯(cuò)率;同時(shí)給用戶提供了根據(jù)各自需求自定義配置查詢、迭代修改查詢配置的途徑,滿足了實(shí)際查表過(guò)程中同一關(guān)鍵詞不同目標(biāo)數(shù)據(jù)的需求,用戶只需要給不同的查詢目標(biāo)貼上不同的標(biāo)簽就能保存?zhèn)€性化查詢配置,后繼查詢中可直接調(diào)用。
本發(fā)明實(shí)施例提供的表格的搜索方法,通過(guò)第一次搜索得到與第一關(guān)鍵詞匹配的部分包含目標(biāo)關(guān)聯(lián)信息的數(shù)據(jù),之后以第一次搜索的結(jié)果作為第二關(guān)鍵詞,利用第二關(guān)鍵詞與另外一些包含關(guān)聯(lián)信息的表格之間的關(guān)聯(lián)關(guān)系,執(zhí)行二次搜索,獲取到更全面的目標(biāo)數(shù)據(jù),同時(shí)提高操作上的智能化,搜索更靈活,提高搜索效率。
參見(jiàn)圖7,是本發(fā)明實(shí)施例二提供的表格的搜索平臺(tái)的結(jié)構(gòu)示意圖,包括:
第一查找模塊71,用于根據(jù)第一關(guān)鍵詞在數(shù)據(jù)庫(kù)的表格中查找與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù);其中,所述數(shù)據(jù)庫(kù)存儲(chǔ)了多張表格,每一表格包括多行數(shù)據(jù);
第一提取模塊72,用于從與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取第一單元格信息作為第二關(guān)鍵詞;
第二查找模塊73,用于根據(jù)所述第二關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)。
進(jìn)一步地,所述搜索平臺(tái)還包括:
第二提取模塊74,用于從與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中提取一個(gè)或多個(gè)第二單元格信息;
集合建立模塊75,用于建立表關(guān)系集合;其中,所述表關(guān)系集合包括第一信息類型與第二信息類型的同表關(guān)聯(lián)關(guān)系、第二信息類型與第三信息類型的跨表相等關(guān)系以及第三信息類型與第四信息類型的同表關(guān)聯(lián)關(guān)系;所述第一信息類型為與所述第一單元格信息位于同一個(gè)表格的第一關(guān)鍵詞所屬的信息類型,所述第二信息類型為所述第一單元格信息所屬的信息類型,所述第三信息類型為與所述第二單元格信息位于同一個(gè)表格的第二關(guān)鍵詞所屬的信息類型,所述第四信息類型為所述第二單元格信息所屬的信息類型;
關(guān)系樹(shù)建立模塊76,用于建立所述表關(guān)系集合涉及的信息類型的關(guān)系樹(shù),并將所述關(guān)系樹(shù)存儲(chǔ)于所述數(shù)據(jù)庫(kù)中;
深度搜索模塊77,用于根據(jù)用戶輸入的關(guān)系樹(shù)查找指令,從所述數(shù)據(jù)庫(kù)中調(diào)用所述關(guān)系樹(shù)查找指令所對(duì)應(yīng)的關(guān)系樹(shù),根據(jù)所述關(guān)系樹(shù)輸出符合所述關(guān)系樹(shù)查找指令的搜索結(jié)果。
進(jìn)一步地,所述搜索平臺(tái)還包括標(biāo)簽創(chuàng)建模塊,用于在所述建立表關(guān)系集合之后,按照所述表關(guān)系集合創(chuàng)建表示由所述第一信息類型查詢所述第四信息類型的自定義標(biāo)簽;
則所述深度搜索模塊包括:
第一識(shí)別單元,用于從用戶輸入的關(guān)系樹(shù)查找指令中識(shí)別出被用戶選擇的自定義標(biāo)簽;
第一輸出單元,用于從所述數(shù)據(jù)庫(kù)中調(diào)用被用戶選擇的自定義標(biāo)簽所對(duì)應(yīng)的關(guān)系樹(shù),并輸出所述關(guān)系樹(shù)供用戶查看。
進(jìn)一步地,所述深度搜索模塊,還包括:
第二識(shí)別單元,用于接收用戶輸入的第三關(guān)鍵詞,以所述第三關(guān)鍵詞作為所述關(guān)系樹(shù)的根節(jié)點(diǎn)對(duì)應(yīng)的單元格信息;
語(yǔ)句生成單元,用于按照所述關(guān)系樹(shù)自動(dòng)生成查詢語(yǔ)句;
第二輸出單元,用于利用所述查詢語(yǔ)句在所述數(shù)據(jù)庫(kù)中進(jìn)行搜索,獲得所述關(guān)系樹(shù)中所有節(jié)點(diǎn)分別對(duì)應(yīng)的單元格信息,并輸出標(biāo)記了所有節(jié)點(diǎn)對(duì)應(yīng)的單元格信息的關(guān)系樹(shù)供用戶查看。
進(jìn)一步地,所述關(guān)系樹(shù)查找指令為自然語(yǔ)言語(yǔ)句;
所述第一識(shí)別單元包括:
分詞子單元,用于通過(guò)分詞算法對(duì)用戶輸入的所述自然語(yǔ)言語(yǔ)句進(jìn)行處理,得到多個(gè)詞組;
歸類子單元,用于通過(guò)歸類算法將所述多個(gè)詞組歸類到與所述多個(gè)詞組匹配的自定義標(biāo)簽;
標(biāo)簽提取子單元,用于提取所述與所述多個(gè)詞組匹配的自定義標(biāo)簽為被用戶選擇的自定義標(biāo)簽。
進(jìn)一步地,其特征在于,所述第一提取模塊包括:
接收單元,用于接收用戶的二次搜索指令;其中,所述二次搜索指令包括選擇指令,所述選擇指令用于從所述與所述第一關(guān)鍵詞匹配的一行或多行數(shù)據(jù)中選擇一個(gè)單元格信息;
標(biāo)記單元,用于標(biāo)記所述選擇指令所對(duì)應(yīng)的單元格信息為第一單元格信息,并將所述第一單元格信息作為第二關(guān)鍵詞;
則所述第二查找模塊包括:
第三識(shí)別單元,用于識(shí)別所述二次搜索指令中是否包含第四關(guān)鍵詞;
第一搜索單元,用于若所述二次搜索指令中包含第四關(guān)鍵詞,則根據(jù)所述第四關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的部分表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù);其中,所述部分表格為表格名稱中包含有第四關(guān)鍵詞的表格;
第二搜索單元,用于若所述二次搜索指令中沒(méi)有包含第四關(guān)鍵詞,則根據(jù)所述第二關(guān)鍵詞在所述數(shù)據(jù)庫(kù)的全部表格中查找與所述第二關(guān)鍵詞匹配的一行或多行數(shù)據(jù)。
進(jìn)一步地,其特征在于,所述數(shù)據(jù)庫(kù)的配置方法包括:
讀取用戶上傳的原始表格文件;其中,所述原始表格文件中包含多個(gè)原始表,每一所述原始表包含多個(gè)子表;
讀取所有所述原始表的名稱以及所述子表的名稱,生成記載表格名稱及表格序號(hào)的總表;
讀取每一所述子表中的所有數(shù)據(jù),自動(dòng)創(chuàng)建與每一所述子表對(duì)應(yīng)的表格;
添加所述總表和所述與每一所述子表對(duì)應(yīng)的表格到所述數(shù)據(jù)庫(kù)中;
則所述第一查找模塊包括:
讀取單元,用于從所述數(shù)據(jù)庫(kù)的總表中讀取第N個(gè)表格名稱;
第三搜索單元,用于在第N個(gè)表格名稱所對(duì)應(yīng)的表格中進(jìn)行第一關(guān)鍵詞的搜索;
異步加載單元,用于若所述第N個(gè)表格名稱所對(duì)應(yīng)的表格中包含所述第一關(guān)鍵詞,則向用戶輸出所述第一關(guān)鍵詞所在行的所有數(shù)據(jù)以及所述第N個(gè)表格的表格名稱供用戶查看;并讀取所述數(shù)據(jù)庫(kù)的總表中的下一個(gè)表格名稱;
二次讀取單元,用于若所述第N個(gè)表格名稱所對(duì)應(yīng)的表格中沒(méi)有包含所述第一關(guān)鍵詞,則讀取所述數(shù)據(jù)庫(kù)的總表中的下一個(gè)表格名稱。
本發(fā)明實(shí)施例提供的表格的搜索平臺(tái),通過(guò)第一次搜索得到與第一關(guān)鍵詞匹配的部分包含目標(biāo)關(guān)聯(lián)信息的數(shù)據(jù),之后以第一次搜索的結(jié)果作為第二關(guān)鍵詞,利用第二關(guān)鍵詞與另外一些包含關(guān)聯(lián)信息的表格之間的關(guān)聯(lián)關(guān)系,執(zhí)行二次搜索,獲取到更全面的目標(biāo)數(shù)據(jù),同時(shí)提高操作上的智能化,搜索更靈活,提高搜索效率。
以上是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和變形,這些改進(jìn)和變形也視為本發(fā)明的保護(hù)范圍。