最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

一種基于MongoDB數(shù)據(jù)庫的中文語句搜索方法、系統(tǒng)及介質(zhì)與流程

文檔序號:41954814發(fā)布日期:2025-05-16 14:20閱讀:1來源:國知局
一種基于MongoDB數(shù)據(jù)庫的中文語句搜索方法、系統(tǒng)及介質(zhì)與流程

本發(fā)明涉及計算機,特別是一種基于mongodb數(shù)據(jù)庫的中文語句搜索方法、系統(tǒng)及介質(zhì)。


背景技術(shù):

1、mongodb數(shù)據(jù)庫是一款的開源非關(guān)系型數(shù)據(jù)庫,以其靈活性、可擴展性和高性能在眾多行業(yè)和應(yīng)用場景中獲得了廣泛的應(yīng)用,mongodb憑借其易用性、強大的數(shù)據(jù)處理能力和良好的生態(tài)系統(tǒng),已經(jīng)成為眾多企業(yè)和開發(fā)者構(gòu)建現(xiàn)代應(yīng)用的首選數(shù)據(jù)庫之一。

2、現(xiàn)有技術(shù)中,在使用mongodb數(shù)據(jù)庫時,主要存在以下技術(shù)問題:

3、(1)使用mongodb數(shù)據(jù)庫進行模糊搜索時會發(fā)現(xiàn)其存在明顯的性能問題,在數(shù)據(jù)量比較大的情況下響應(yīng)時間可能達到十幾秒甚至幾分鐘。

4、(2)mongodb數(shù)據(jù)庫本身提供了用于實現(xiàn)類似關(guān)鍵詞檢索的功能的全文索引,但是mongodb數(shù)據(jù)庫的全文索引只對英文文本搜索有效,mongodb數(shù)據(jù)庫并不支持中文。

5、(3)現(xiàn)有技術(shù)中,針對mongodb數(shù)據(jù)庫,也有一些通過數(shù)據(jù)庫集成第三方插件的中文分詞器嘗試支持中文分詞,但是固定單一的中文分詞器對不同業(yè)務(wù)領(lǐng)域,如專業(yè)名詞、人名、地名等達不到預(yù)期的分詞效果,最終也無法滿足不同業(yè)務(wù)領(lǐng)域關(guān)鍵詞準(zhǔn)確搜索的效果。

6、(4)在搜索方面雖然可以再引入其它擅長搜索的中間件,但這樣無疑增加了系統(tǒng)的復(fù)雜度和運維成本。

7、針對上述技術(shù)問題,現(xiàn)有技術(shù)中常見的解決方案主要有:

8、(1)創(chuàng)建索引和查詢優(yōu)化:

9、在mongodb數(shù)據(jù)庫中數(shù)據(jù)量較大的情況下,為了提高查詢效率通常使用創(chuàng)建索引和優(yōu)化查詢語句的方法,針對要查詢的內(nèi)容字段可以創(chuàng)建單字段索引和復(fù)合索引等,通過索引查詢可以避免全表掃描,明顯提高查詢效率。創(chuàng)建索引后再對查詢語句進行優(yōu)化,常見的如:確保查詢條件能匹配到現(xiàn)有的索引,特別是復(fù)合索引時,索引字段的順序和查詢條件中的字段順序要一致。盡量讓查詢能夠完全通過索引來完成,即查詢的所有字段都在索引中包含,無需訪問文檔本身,即所謂的“索引覆蓋查詢”,避免額外的查詢開銷。避免使用索引不友好的操作:如在查詢中使用正則表達式、數(shù)組字段的非精確匹配、或在索引字段上進行計算等,這些都可能導(dǎo)致索引不能有效利用。

10、該方案的不足:該方案中說創(chuàng)建的普通索引(單字段索引、復(fù)合索引)對于精確匹配查詢有效,但是對于使用模糊查詢情況并不會走索引查詢,大數(shù)據(jù)量情況下查詢效率依然很低。mongodb數(shù)據(jù)庫支持創(chuàng)建全文索引查詢,但是不支持中文分詞,無法對中文語句進行分詞后的關(guān)鍵詞查詢。

11、(2)使用其它搜索中間件。

12、對于大數(shù)據(jù)量情況下的模糊查詢需求,通??梢钥紤]引入使用擅長文本搜索引擎中間件(如elasticsearch、apache?lucene等),搜索引擎儲存數(shù)據(jù)時對搜索文本分詞后創(chuàng)建倒排索引,能夠滿足較好的關(guān)鍵詞搜索效率。

13、該方案的不足:在使用mongodb數(shù)據(jù)庫作為存儲數(shù)據(jù)庫的情況下引入其他搜索引擎中間件,需要同時考慮mongodb和搜索中間件的數(shù)據(jù)同步問題,軟件系統(tǒng)增加對新引入中間件的適配,增加部署中間件的服務(wù)器和運維成本,增加了系統(tǒng)的復(fù)雜度和運維成本。


技術(shù)實現(xiàn)思路

1、本發(fā)明提出了一種基于mongodb數(shù)據(jù)庫的中文語句搜索方法、系統(tǒng)及介質(zhì),以解決mongodb數(shù)據(jù)庫通過數(shù)據(jù)庫集成第三方插件的中文分詞器,針對不同業(yè)務(wù)領(lǐng)域達不到預(yù)期的分詞效果,無法滿足不同業(yè)務(wù)領(lǐng)域關(guān)鍵詞準(zhǔn)確搜索的效果的技術(shù)問題。

2、本發(fā)明的一個方面在于提供一種基于mongodb數(shù)據(jù)庫的中文語句搜索方法,所述中文語句搜索方法,包括如下方法步驟:

3、s1、在mongodb數(shù)據(jù)庫中配置多張數(shù)據(jù)庫表;其中,每一張數(shù)據(jù)庫表包括一個文本字段符,不同數(shù)據(jù)庫表的文本字段符下,存儲相同的中文文本;

4、s2、對mongodb數(shù)據(jù)庫中每一張數(shù)據(jù)庫表配置一個中文分詞器,不同數(shù)據(jù)庫表配置的中文分詞器不同;

5、s3、將不同數(shù)據(jù)庫表文本字段符下存儲的相同的中文文本,使用對應(yīng)的中文分詞器進行第一分詞處理,并將第一分詞處理后的中文文本使用空格拼接,得到對應(yīng)不同數(shù)據(jù)庫表的片段中文文本;

6、s4、對mongodb數(shù)據(jù)庫中的每一張數(shù)據(jù)庫表,創(chuàng)建一個片段文本字段符;將對應(yīng)不同數(shù)據(jù)庫表的片段中文文本,分別存儲在對應(yīng)數(shù)據(jù)庫表的片段文本字段符下;

7、s5、對每一張數(shù)據(jù)庫表的片段文本字段符創(chuàng)建全文索引;

8、s6、獲取待查詢的中文語句;

9、使用不同的數(shù)據(jù)庫表配置的不同中文分詞器,對待查詢的中文語句進行第二分詞處理,得到對應(yīng)不同數(shù)據(jù)庫表的關(guān)鍵詞;

10、s7、將對應(yīng)不同數(shù)據(jù)庫表的關(guān)鍵詞,使用全文索引,在mongodb數(shù)據(jù)庫中搜索對應(yīng)不同數(shù)據(jù)庫表的片段中文文本,完成中文語句搜索。

11、在一個優(yōu)選的實施例中,在步驟s1中,mongodb數(shù)據(jù)庫中配置事項表、政策表和服務(wù)表三張數(shù)據(jù)庫表。

12、在一個優(yōu)選的實施例中,事項表配置矩陣約束法中文分詞器、政策表配置語法分析法中文分詞器、服務(wù)表配置神經(jīng)網(wǎng)絡(luò)法中文分詞器。

13、在一個優(yōu)選的實施例中,在步驟s5中,對每一張數(shù)據(jù)庫表的片段文本字段符創(chuàng)建的全文索引,采用倒排索引。

14、本發(fā)明的另一個方面在于提供一種基于mongodb數(shù)據(jù)庫的中文語句搜索系統(tǒng),所述中文語句搜索系統(tǒng),包括:

15、庫表配置模塊,用于在mongodb數(shù)據(jù)庫中配置多張數(shù)據(jù)庫表;其中,每一張數(shù)據(jù)庫表包括一個文本字段符,不同數(shù)據(jù)庫表的文本字段符下,存儲相同的中文文本;

16、中文分詞器配置模塊,用于對mongodb數(shù)據(jù)庫中每一張數(shù)據(jù)庫表配置一個中文分詞器,不同數(shù)據(jù)庫表配置的中文分詞器不同;

17、第一分詞處理模塊,用于將不同數(shù)據(jù)庫表文本字段符下存儲的相同的中文文本,使用對應(yīng)的中文分詞器進行第一分詞處理,并將第一分詞處理后的中文文本使用空格拼接,得到對應(yīng)不同數(shù)據(jù)庫表的片段中文文本;

18、片段文本字段符創(chuàng)建模塊,用于對mongodb數(shù)據(jù)庫中的每一張數(shù)據(jù)庫表,創(chuàng)建一個片段文本字段符;將對應(yīng)不同數(shù)據(jù)庫表的片段中文文本,分別存儲在對應(yīng)數(shù)據(jù)庫表的片段文本字段符下;

19、索引創(chuàng)建模塊,用于對每一張數(shù)據(jù)庫表的片段文本字段符創(chuàng)建全文索引;

20、第二分詞處理模塊,用于獲取待查詢的中文語句;使用不同的數(shù)據(jù)庫表配置的不同中文分詞器,對待查詢的中文語句進行第二分詞處理,得到對應(yīng)不同數(shù)據(jù)庫表的關(guān)鍵詞;

21、搜索模塊,用于將對應(yīng)不同數(shù)據(jù)庫表的關(guān)鍵詞,使用全文索引,在mongodb數(shù)據(jù)庫中搜索對應(yīng)不同數(shù)據(jù)庫表的片段中文文本,完成中文語句搜索。

22、在一個優(yōu)選的實施例中,庫表配置模塊中,mongodb數(shù)據(jù)庫中配置事項表、政策表和服務(wù)表三張數(shù)據(jù)庫表。

23、在一個優(yōu)選的實施例中,事項表配置矩陣約束法中文分詞器、政策表配置語法分析法中文分詞器、服務(wù)表配置神經(jīng)網(wǎng)絡(luò)法中文分詞器。

24、在一個優(yōu)選的實施例中,索引創(chuàng)建模塊,對每一張數(shù)據(jù)庫表的片段文本字段符創(chuàng)建的全文索引,采用倒排索引。

25、本發(fā)明的又一個方面在于提供一種計算機存儲介質(zhì),所述計算機存儲介質(zhì)用于存儲計算機執(zhí)行指令,所述計算機執(zhí)行指令,用于執(zhí)行本發(fā)明提供的一種基于mongodb數(shù)據(jù)庫的中文語句搜索方法。

26、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:

27、本發(fā)明提出的一種基于mongodb數(shù)據(jù)庫的中文語句搜索方法、系統(tǒng)及介質(zhì),在mongodb數(shù)據(jù)庫中配置多張數(shù)據(jù)庫表,中文文本存儲到mongodb數(shù)據(jù)庫時,將相同的中文文本存儲在多張數(shù)據(jù)庫表中。通過對不同數(shù)據(jù)庫表配置不同的中文分詞器,對不同數(shù)據(jù)庫表存儲的相同的中文文本進行第一分詞處理,實現(xiàn)mongodb數(shù)據(jù)庫支持中文分詞,并使多張數(shù)據(jù)庫表存儲的相同的中文文本按照不同的業(yè)務(wù)領(lǐng)域進行分詞,從而使中文文本達到不同業(yè)務(wù)領(lǐng)域預(yù)期的分詞效果,滿足不同業(yè)務(wù)領(lǐng)域關(guān)鍵詞準(zhǔn)確搜索的效果。

28、本發(fā)明提出的一種基于mongodb數(shù)據(jù)庫的中文語句搜索方法、系統(tǒng)及介質(zhì),對mongodb數(shù)據(jù)庫中的每一張數(shù)據(jù)庫表,創(chuàng)建一個片段文本字段符。將中文文本按照不同的業(yè)務(wù)領(lǐng)域進行分詞后,對應(yīng)不同數(shù)據(jù)庫表的片段中文文本,分別存儲在對應(yīng)數(shù)據(jù)庫表的片段文本字段符下,對每一張數(shù)據(jù)庫表的片段文本字段符創(chuàng)建全文索引,無需部署中間件的服務(wù)器和運維成本,降低系統(tǒng)的復(fù)雜度和運維成本。

29、本發(fā)明提出的一種基于mongodb數(shù)據(jù)庫的中文語句搜索方法、系統(tǒng)及介質(zhì),對待查詢的中文語句,使用不同的數(shù)據(jù)庫表配置的不同中文分詞器,進行第二分詞處理,得到對應(yīng)不同數(shù)據(jù)庫表的關(guān)鍵詞,使用全文索引,在mongodb數(shù)據(jù)庫中搜索對應(yīng)不同數(shù)據(jù)庫表的片段中文文本,達到不同業(yè)務(wù)領(lǐng)域關(guān)鍵詞準(zhǔn)確搜索的效果。

30、本發(fā)明提出的一種基于mongodb數(shù)據(jù)庫的中文語句搜索方法、系統(tǒng)及介質(zhì),在大數(shù)據(jù)量情況下明顯提升搜索效率,搜索效果類似于模糊搜索,底層依賴mongodb創(chuàng)建的倒排索引,能夠通過關(guān)鍵詞快速檢索到相關(guān)數(shù)據(jù)。無需引入其他文本搜索引擎中間或者數(shù)據(jù)庫插件,只基于mongodb數(shù)據(jù)庫就能實現(xiàn)較好的搜索效果,不需要考慮數(shù)據(jù)庫和中間件之間的數(shù)據(jù)同步問題,不需要額外增加服務(wù)器硬件和運維成本。

31、本發(fā)明提出的一種基于mongodb數(shù)據(jù)庫的中文語句搜索方法、系統(tǒng)及介質(zhì),可自定義中文分詞算法,適配不同業(yè)務(wù)領(lǐng)域中專業(yè)詞語的分詞檢索,同時可以自定義過濾一些影響搜索效率的助詞、連詞等,還可以自定義過濾敏感詞,垃圾詞等避免被搜索到。

32、本發(fā)明提出的一種基于mongodb數(shù)據(jù)庫的中文語句搜索方法、系統(tǒng)及介質(zhì),在千萬級別數(shù)據(jù)量下搜索關(guān)鍵詞響應(yīng)在1秒以內(nèi),相比于模糊搜索有明顯的性能提示,并且本發(fā)明可以針對不同的數(shù)據(jù)庫表的業(yè)務(wù)數(shù)據(jù)靈活配置不同的分詞算法,從而滿足不同行業(yè)領(lǐng)域?qū)I(yè)詞句依然有較好的搜索效果。

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