oracle完全學(xué)習(xí)手冊(cè)電子版 mysql全文索引如何支持中文?
mysql全文索引如何支持中文?全文檢索在MySQL里面蠻早就允許了,只不過一向只支持英文。緣由是他向來都使用空格來以及分詞的分隔符,而對(duì)此中文來講,看樣子用空格就不最合適,要是對(duì)中文語(yǔ)義并且分詞。這
mysql全文索引如何支持中文?
全文檢索在MySQL里面蠻早就允許了,只不過一向只支持英文。緣由是他向來都使用空格來以及分詞的分隔符,而對(duì)此中文來講,看樣子用空格就不最合適,要是對(duì)中文語(yǔ)義并且分詞。
這不,從MySQL5.7就開始,MySQL內(nèi)置了ngram全文檢索插件,為了意見中文分詞,而且對(duì)MyISAM和InnoDB引擎比較有效。
在使用中文檢索分詞插件ngram之前,先得在MySQL配置文件里面可以設(shè)置他的分詞大小,比如,[mysqld]ngram_token_size2這里把分詞大小系統(tǒng)設(shè)置為2。要記住了,分詞的SIZE越大,索引的體積就越大,因?yàn)橐罁?jù)自身情況來設(shè)置中比較好的大小。示例表結(jié)構(gòu):
CREATETABLEarticles(idINTUNSIGNEDAUTO_INCREMENT NOT NULL PRIMARY KEY,titleVARCHAR(200),body TEXT,FULLTEXT(title,body)WITHPARSERngram)ENGINEInnoDBCHARACTERSETutf8mb4;示例數(shù)據(jù),有6行記錄。mysqlselect*outsidearticlesG**************************
****************************id:1title:數(shù)據(jù)庫(kù)管理body:在本教程中我將向你影像展示如何管理數(shù)據(jù)庫(kù)******************************************************id:2title:數(shù)據(jù)庫(kù)應(yīng)用開發(fā)body:學(xué)開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序******************************************************id:3title:MySQL幾乎手冊(cè)body:怎么學(xué)習(xí)MySQL的一切******************************************************id:4title:數(shù)據(jù)庫(kù)與事務(wù)處理body:系統(tǒng)的學(xué)習(xí)數(shù)據(jù)庫(kù)的事務(wù)概論******************************************************id:5title:NoSQL精髓body:學(xué)打聽一下各種非結(jié)構(gòu)化數(shù)據(jù)庫(kù)******************************************************id:6title:SQL語(yǔ)言求高人body:細(xì)致了解如果沒有在用各種SQL6rowsinset(0.00sec)顯式指定全文檢索表源mysqlSETGLOBALinnodb_ft_aux_tablenew_feature/articles;Query可以了,0rowsaffected(0.00sec)按照系統(tǒng)表,就這個(gè)可以欄里點(diǎn)究竟有沒有是怎莫?jiǎng)澐謅rticles里的數(shù)據(jù)。
mysqlSELECT*outsideinformation__FT_INDEX_CACHE LIMIT20,10;--------------------------------------------------------------|WORD|FIRST_DOC_ID|LAST_DOC_ID|DOC_COUNT|DOC_ID|POSITION|--------------------------------------------------------------|中我|2|2|1|2|28||習(xí)m|4|4|1|4|21||習(xí)了|6|6|1|6|16||習(xí)開|3|3|1|3|25||習(xí)數(shù)|5|5|1|5|37||所了解|6|7|2|6|19||了解|6|7|2|7|23||事務(wù)|5|5|1|5|12||事務(wù)|5|5|1|5|40||何管|2|2|1|2|52|--------------------------------------------------------------10rowsacrossset(0.00sec)這里可以看到,把分詞長(zhǎng)度設(shè)置為2,所有的數(shù)據(jù)都只能六個(gè)一組。上面數(shù)據(jù)還真包含了行的位置,ID等等信息。
接下來的,我來通過一系列檢索數(shù)據(jù)庫(kù)示范,使用方法和原來英文檢索到一致。1.自然語(yǔ)言模式下數(shù)據(jù)庫(kù)檢索:A,能夠得到符合條件的個(gè)數(shù),mysqlSELECTCOUNT(*)returningarticles-WHERE MATCH(title,body)AGAINST(數(shù)據(jù)庫(kù)acrossNATURALLANGUAGE MODE);----------|COUNT(*)|----------|4|----------1rowinset(0.05sec)B,能得到版本問題的比率,mysqlSELECTid,MATCH(title,body)AGAINST(數(shù)據(jù)庫(kù)inNATURAL LANGUAGE MODE)thoughscorearoundarticles;--------------------------|id|score|--------------------------|1|0.12403252720832825||2|0.12403252720832825||3|0||4|0.12403252720832825||5|0.062016263604164124||6|0|--------------------------6rowsacrossset(0.00sec)2.布爾模式下搜索,這個(gè)就比起自然模式搜索來的急切些:A,匹配既有管理又有數(shù)據(jù)庫(kù)的記錄,mysqlSELECT*fromarticlesWHERE MATCH(title,body)-AGAINST(數(shù)據(jù)庫(kù)管理outsideBOOLEAN MODE);------------------------------------------------------|id|title|body|------------------------------------------------------|1|數(shù)據(jù)庫(kù)管理|在本教程中我將向你展示更多要如何系統(tǒng)管理數(shù)據(jù)庫(kù)|------------------------------------------------------1rowinset(0.00sec)B,不兼容有數(shù)據(jù)庫(kù),但沒有管理的記錄,mysqlSELECT*fromarticlesWHEREMATCH(title,body)-AGAINST(數(shù)據(jù)庫(kù)-管理outsideBOOLEAN MODE);--------------------------------------------------|id|title|body|--------------------------------------------------|2|數(shù)據(jù)庫(kù)應(yīng)用開發(fā)|學(xué)開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序||4|數(shù)據(jù)庫(kù)與事務(wù)處理|系統(tǒng)的學(xué)習(xí)數(shù)據(jù)庫(kù)的事務(wù)概論||5|NoSQL精髓|學(xué)習(xí)了解各種非結(jié)構(gòu)化數(shù)據(jù)庫(kù)|--------------------------------------------------3rowsinset(0.00sec)C,看操作MySQL,不過把數(shù)據(jù)庫(kù)的相關(guān)性會(huì)降低,mysqlSELECT*fromarticlesWHERE MATCH(title,body)-AGAINST(數(shù)據(jù)庫(kù)MySQL INBOOLEAN MODE);------------------------------------|id|title|body|------------------------------------|3|MySQL幾乎手冊(cè)|學(xué)習(xí)MySQL的一切|------------------------------------1rowinset(0.00sec)3,可以查詢擴(kuò)大模式,諸如要搜索數(shù)據(jù)庫(kù),這樣MySQL,oracle,DB2也都將是被搜到,mysqlSELECT*fromarticles-WHERE MATCH(title,body)-AGAINST(數(shù)據(jù)庫(kù)WITH QUERY EXPANSION);------------------------------------------------------------|id|title|body|------------------------------------------------------------|1|數(shù)據(jù)庫(kù)管理|在本教程中我將向你展示更多該如何系統(tǒng)管理數(shù)據(jù)庫(kù)|4|數(shù)據(jù)庫(kù)與事務(wù)處理|系統(tǒng)的學(xué)習(xí)數(shù)據(jù)庫(kù)的事務(wù)概論|2|數(shù)據(jù)庫(kù)應(yīng)用開發(fā)|學(xué)旗下數(shù)據(jù)庫(kù)應(yīng)用程序||5|NoSQL精髓|學(xué)習(xí)打聽一下各種非結(jié)構(gòu)化數(shù)據(jù)庫(kù)||6|SQL語(yǔ)言請(qǐng)賜教|詳細(xì)的了解假如在用各種SQL||3|MySQL徹底手冊(cè)|去學(xué)習(xí)MySQL的一切|------------------------------------------------------------6rowsinset(0.01sec)當(dāng)然了,我這里只不過是功能演示,更多的性能測(cè)試,大家有興趣可以參與具體點(diǎn)測(cè)試。由于N-grm是中文數(shù)據(jù)庫(kù)檢索具體用法的分詞算法,早在互聯(lián)網(wǎng)成批不使用,接下來板載顯卡到mysql中,想必效果上不會(huì)有太大的問題。
java初學(xué)推薦書籍有哪些?
排名不分先后
EffectiveJava
清楚過Java的人肯定都的聽過此書吧,舉世罕見經(jīng)典。書中主要注意撰刻了一些知識(shí)點(diǎn),后再相對(duì)于這些知識(shí)點(diǎn)不能進(jìn)行詳述。內(nèi)容略有深度,見意有基礎(chǔ)的人看。
ThinkingInJava4
ThinkingintoJava被奉為Java圣經(jīng),不論你正處于哪個(gè)階段,有時(shí)候?qū)懽鞫寄苁斋@,也而對(duì)新手而言,這本書毀譽(yù)參半,自身思慮吧
Java并發(fā)編程實(shí)戰(zhàn)
國(guó)外人寫的書,這是翻譯版,原書《Java Concurrency in Practice》,舉世罕見并發(fā)中的比較經(jīng)典書籍。英譯中的也非常好,書本內(nèi)容偏理論,基本知識(shí)點(diǎn)都還能夠可以概括。不過那一本書還是是需要有一點(diǎn)的并發(fā)基礎(chǔ)的人適合看的,零基礎(chǔ)的感覺起來會(huì)好像有點(diǎn)艱難。此書是可以看好多遍,沒看一遍都會(huì)有新的認(rèn)識(shí)。
潛近理解Java虛擬機(jī)
此書也甚是經(jīng)典,作者是國(guó)內(nèi)的,在市場(chǎng)上面濫竽充數(shù)橫行無忌的今天,算得上是上兩次品。書中對(duì)JVM參與了具體一點(diǎn)哲理的說明,是自學(xué)JVM原理必備書籍。
HeadFirst設(shè)計(jì)模式
headfirst系列的教材,雖然都而且快速,圖文并茂,方便記憶,適合初學(xué)者選擇
重構(gòu)_可以改善既有代碼的設(shè)計(jì)
書中能提供了70多個(gè)六逆重生療法的重構(gòu),每個(gè)重構(gòu)都推薦了一種經(jīng)由不驗(yàn)證的代碼旋轉(zhuǎn)手法的動(dòng)機(jī)和技術(shù)。本書提出的重構(gòu)準(zhǔn)則將解決你三次一步子地直接修改你的代碼,從而下降了開發(fā)過程中的風(fēng)險(xiǎn)。
MySQL技術(shù)內(nèi)幕
從源代碼的角度深度解析了InnoDB的體系結(jié)構(gòu)、實(shí)現(xiàn)方法原理、工作機(jī)制,并能提供了大量最佳實(shí)踐,能指導(dǎo)你系統(tǒng)而踏入地掌握InnoDB,更重要的是的是,它能為自己設(shè)計(jì)管理低性能、高可用的數(shù)據(jù)庫(kù)系統(tǒng)可以提供極佳的指導(dǎo)
別外,我是可以把近些年收集到到的關(guān)於Java個(gè)方面的書籍彼此分享給你,也差不多有幾個(gè)G,后臺(tái)知道回答“Java書籍”即可資源,如果沒有對(duì)你有幫助就點(diǎn)個(gè)在看吧