時(shí)間:2024-03-10 11:43作者:下載吧人氣:15
SQL Server 的全文搜索(Full-Text Search)是基于分詞的文本檢索功能,依賴于全文索引。全文索引不同于傳統(tǒng)的平衡樹(shù)(B-Tree)索引和列存儲(chǔ)索引,它是由數(shù)據(jù)表構(gòu)成的,稱作倒轉(zhuǎn)索引(Invert Index),存儲(chǔ)分詞和行的唯一鍵的映射關(guān)系。倒轉(zhuǎn)索引是在創(chuàng)建全文索引或更新全文索引時(shí),由SQL Server自動(dòng)創(chuàng)建和維護(hù)的。全文索引主要包含三種分析器:分詞器(Word Breaker)、詞干分析器(stemmer)和同義詞分析器。全文索引中存儲(chǔ)的數(shù)據(jù)是分詞及其位置等信息,分詞是基于特定語(yǔ)言的語(yǔ)法規(guī)則,按照特定的符號(hào)尋找詞語(yǔ)的邊界,把文本分解為“單詞”,每一個(gè)單詞叫做一個(gè)分詞(term);全文索引有時(shí)會(huì)提取分詞的詞干,把詞干的多種派生形式存儲(chǔ)為單一詞干,這個(gè)過(guò)程叫做提取詞干;根據(jù)用戶提供的自定義同義詞列表,把相關(guān)的單詞轉(zhuǎn)換為同義詞,這個(gè)過(guò)程叫做提取同義詞。
生成全文索引是把用戶表中的文本數(shù)據(jù)進(jìn)行分詞(Word breaker)和提取詞干(Stemmer),并轉(zhuǎn)換同義詞(Thesaurus),過(guò)濾掉分詞中的停用詞(Stopword),最后把處理之后的數(shù)據(jù)存儲(chǔ)到全文索引中。把數(shù)據(jù)存儲(chǔ)到全文數(shù)據(jù)的過(guò)程叫做填充(Populate)或爬蟲(chóng)(Crawl)進(jìn)程,全文索引的更新方式可以手動(dòng)填充,自動(dòng)填充,或增量填充。
一,創(chuàng)建全文目錄和唯一索引
創(chuàng)建全文索引之前,必須創(chuàng)建全文目錄(Full-Text Catalog),全文目錄用于組織全文索引,是全文索引的容器。每一個(gè)全文索引必須屬于一個(gè)全文目錄。全文目錄是個(gè)邏輯結(jié)構(gòu),跟數(shù)據(jù)庫(kù)的架構(gòu)(Schema)相同,根據(jù)全文索引的存儲(chǔ)位置無(wú)關(guān)。
create fulltext catalog catalog_test
as default;
網(wǎng)友評(píng)論