首頁  >  文章  >  資料庫  >  全文本檢索的應用(1)

全文本檢索的應用(1)

黄舟
黄舟原創
2016-12-17 14:59:59938瀏覽

基本知識
1. SQL Server7 的 DeskTop 版中沒有全文本檢索。
2. 一個表格只能有一個全文本檢索。
3. 被檢索的表必須有單列的唯一索引。
4. 全文本的索引儲存在檔案系統中,而非資料庫中。
5. 更新全文本索引的過程比常規索引要耗時,而且也不像常規索引那樣可以由資料庫系統立即更新。
6. 全文本索引包含在全文本目錄( Full-Text Catalog )中,每個資料庫可以包含一個或多個目錄,但一個目錄不能屬於多個資料庫。
7. 全文本檢索只能在真正的表上創建,不能是視圖,系統表,臨時表。
8. 全文本檢索會忽略某些噪音字( noise Words),例如英文的 a,the,and,中文的'和','是'等等。
9. 如果在查詢中包含 noise words ,就會引發錯誤,在應用程式中應去除這些 noise words。

啟動全文本檢索服務。
方法A:在企業管理員中開啟 Support Services 資料夾,在 Full-Text Search 的右鍵選單中選擇 Start。
方法B:在 SQL Server Service Manager 的 Services 下拉清單中選擇 Microsoft Search,並點選 Start/Continue 按鈕。
方法C:使用 net start mssearch 的命令列方式。
使用全文本檢索精靈( Full-Text Indexing Wizard )。
step1. 選擇被檢索的資料庫,在 Tools 的選單中,選擇 Full-text Indexing,進入歡迎( Welcome )的螢幕,點選 next。
step2. 選擇被檢索的表,按一下 next。
step3. 選擇唯一索引,按一下 next。
step4. 選擇被索引的列,按一下 Add,該列顯示在右欄。點選 next。
step5. 選擇目錄(選擇已存在的目錄,或建立新的目錄),按 next。
step6. 選擇或創建 population schedule(可選項),按 next。
step7. 點選 finish。
使用 SQL-DMO (以 VB 為例)
step1. 在工程的引用中選擇 Microsoft SQLDMO Object Library。
step2. 建立 SQLServer 物件。
Dim objSQL As New SQLDMO.SQLServer
objSQL.Connect "localhost", "sa", ""
step3. 建立新的目錄,並加入到被索引的資料庫目錄中。
Dim objCatalog As New SQLDMO.FullTextCatalog
'使 pubs 為全文本檢索的資料庫
objSQL.Databases("pubs").EnableFullTextCatalogs
'建立新的目錄
objCatalog.Name = "ftcPubsTest"
'將新目錄加入目錄集合
objSQL.Databases("pubs").FullTextCatalogs.Add objCatalog
step4. 在表格上建立全文本索引。
Dim objTable As New SQLDMO.Table
'指定被索引的表
Set objTable = objSQL.Databases("pubs").Tables("authors")
'指定目錄名和唯一索引名
objTable.FullTextCatalogName = "ftcPubsTest"
objTable.UniqueIndexForFullText = "UPKCL_auidind"
objTable.FullTextIndex = True

'指定被索引的欄位
objTable.Columns("au_lname").FullTextIndex = True
objTable.Columns("au_fname").FullTextIndex = True

'啟動該表上的全文本索引
objTable.FullTextIndexActive = True

step5. 啟動全文本目錄
objCatalog.Start SQLDMOFullText_Full
使用預存程序
step1. 使 pubs 全文本檢索的資料庫
USE Pubs
go
sp_fulltext_database 'enable'

step2. 建立新的目錄
sp_fulltext_catalog 'ftcPubsTest','create'
step3. 指定被索引的表
sp_fulltext_table 'authors','create','ftcPubsTest','UPKCL_auidind'
step4. 指定被索引的欄位
sp_fulltext_column 'authors','au_lname','add'
sp_fulltext_column 'authors','au_fname','add'
step5. 啟動該表上的全文本索引
sp_fulltext_table 'authors','activate'
step6. 啟動全文本目錄
sp_fulltext_catalog 'ftcPubsTest','start_full'

 以上就是全文本檢索的應用(1)的內容,更多相關文章請關注PHP中文網(www.php.cn)! 


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn