深入探討SQL Server 2005噪聲字詞和辭典

這篇論壇文章(賽迪網技術社區)詳細介紹了SQL Server 2005噪聲字詞和辭典的相關概念及背景知識,更多內容請參考下文:

問題:

我聽說全文搜索可以使用噪聲字詞來消除搜索過程中無意義的字詞。我還聽說全文搜索利用了辭典,但是不是很清楚實際是如何應用的。你可不可以詳細介紹這兩種技術是怎麽樣應用到全文搜索中的?我很想知道這些全文搜索技術的背景知識,以及哪裏可以獲取這些文件和如何升級這些文件。

解答:

盡管噪聲字詞和辭典在全文搜索執行方面有很多相似的地方,但是爲了解釋的更爲清楚,我們把這兩種技術分開來講。要記住雖然SQL Server 2000和7.0版本也有一些相同的屬性,但是本文中介紹的信息都適用于SQL Server 2005。你還需要關注SQL Server 2008的全文搜索功能的特點,因爲新版本中部分規則有所變動。

噪聲字詞

目的:

microsoft建立噪聲字詞文件,在語言的基礎上決定哪些字詞對于搜索來說是無意義的。例如,在(美式)英語中,噪聲字詞可以包括:because、been、before、being、between、both、but等。在默認的Noiseenu.txt文件(美式英語)裏,有100多個噪聲字詞,在進行全文搜索的時候會使用這個文件消除無意義的字詞。

語言支持:

系統支持20種不同的語言,從中文(Noisechs.txt)到土耳其語(Noisetrk.txt)。

windows 目錄:$SQL_Server_Install_Path\Microsoft sql server\MSSQL.1\MSSQL\FTDATA\

更改:

可以向文件裏添加新的噪聲字詞。新噪聲字詞會添加到默認的最後一次登錄「your」後之後。

更多信息

如果你更改了噪聲字詞文件,在使用新噪聲字詞前,需要重新輸入所有的全文目錄。

辭典

目的:

能夠在全文搜索中確定並使用同義字詞。利用CONTAINS或CONTAINSTABLE命令指定FORMSOF THESAURUS參數,就可以使用辭典來確定搜索關鍵詞的同義詞。同樣也可以利用FREETEXT和FREETEXTTABLE命令。利用這些命令可以使用辭典來確定搜索關鍵詞的表達或替換詞。

語言支持:

辭典文件爲XML格式文件,有一個總文件(tsGLOBAL.xml)和18個語言文件。默認設置中所有的文件都有注釋的XML樣例,因此在執行全文搜索時默認設置是不會建立同義詞的。

Windows目錄:

$SQL_Server_Install_Path\Microsoft sql server\MSSQL.1\MSSQL\FTDATA\

更改:

在檢查了XML格式之後,存在兩種辭典詞目類型。第一類爲擴展類型,第二類爲替代類型。擴展類型可以被認爲時同義詞或替代詞。替代類型表明以一個字符串替代另一個字符串。

更多信息:

所有辭典文件都應該以Unicode形式保存。

要使用新的辭典,需要重新啓動全文搜索引擎窗口。

 
深入探討SQL Server 2000對XML的支持
                         深入探討SQL Server 2000對XML的支持                     Wayne   [作者簡介:]Wayne,新一代程序員,十二歲時開始學習編程,十三歲時擁有...查看完整版>>深入探討SQL Server 2000對XML的支持
 
Microsoft SQL Server數據備份處理過程探討
  Microsoft SQL Server提供了能夠按照企業的業務和技術需求來制定數據備份和修複計劃的數據庫管理員程序……  相對于個人版本來說,企業級數據庫所能提供的主要優勢之一就是強大的備份和修複功能組合。Microsof...查看完整版>>Microsoft SQL Server數據備份處理過程探討
 
探討SQL Server中Case 的不同用法
摘要:探討SQL Server中Case 的不同用法 CASE 可能是 SQL 中被誤用最多的關鍵字之一。雖然你可能以前用過這個關鍵字來創建字段,但是它還具有更多用法。例如,你可以在 WHERE 子句中使用 CASE。 首先讓我們看一下 C...查看完整版>>探討SQL Server中Case 的不同用法
 
VB應用程序訪問SQL Server方法探討
Microsoft Visual Basic(簡稱VB)作爲一種面向對象的可視化編程工具,具有簡單易學的,靈活方便和易于擴充的特點。而且Microsoft爲其提供了與SQL Server通信的API函數集及工具集。因此它越來越多地用作大型公司數據和...查看完整版>>VB應用程序訪問SQL Server方法探討
 
探討SQL Server中Case 的不同用法
CASE 可能是 SQL 中被誤用最多的關鍵字之一。雖然你可能以前用過這個關鍵字來創建字段,但是它還具有更多用法。例如,你可以在 WHERE 子句中使用 CASE。 首先讓我們看一下 CASE 的語法。在一般的 SELECT 中,其語法...查看完整版>>探討SQL Server中Case 的不同用法