MSSQL全文檢索

2021-04-13 03:26:31 字數 2617 閱讀 4529

大家可能都會用  

select   *   from   tb   where   field   like   '%關鍵字%'  

但是一旦資料量大使用者多,就會造成查詢過慢,因此ms提供一種犧牲空間來換取時間的解決方案。  

全文檢索。原文請看  

我對自己的實現加了些注釋:  

use     popask  

--使用這個庫  

exec   sp_fulltext_database   'enable'  

--使這個庫允許全文檢索  

-----以下對question_total表操作------  

/*  

首先:要為全文檢索目錄起個名字,比如q_id_desc  

然後:要確保你這個表必須有個唯一主鍵,比如我這個question_total表,主鍵名是:pk_question_total  

剩下就把要檢索的列加進去就可以了。  

*/  

exec   sp_fulltext_catalog   'q_id_desc',   'create'    

--建立名為q_id_desc的全文檢索目錄,預設位置。  

exec   sp_fulltext_table   'question_total',   'create',   'q_id_desc',     'pk_question_total'  

--   把question_total這個表,建立到全文檢索目錄中,指定主鍵。  

exec   sp_fulltext_column   'question_total',   'title',   'add'  

--   把question_total這個表,要檢索的title列,新增到全文檢索中。  

exec   sp_fulltext_column   'question_total',   'content',   'add'  

--   把question_total這個表,要檢索的content列,新增到全文檢索中。  

exec   sp_fulltext_table   'question_total',   'start_full'  

--   填充全文檢索記錄。  

select   fulltextcatalogproperty('q_id_desc',   'populatestatus')  

--   這句可以不用,是檢測是否添完狀態的,1代表正在進行,0代表完成。  

-----以下對另外乙個表answer_total操作------  

exec   sp_fulltext_catalog   'a_id_desc',   'create'    

--建立名為a_id_desc的全文檢索目錄,預設位置。  

exec   sp_fulltext_table   'answer_total',   'create',   'a_id_desc',     'pk_answer_total'  

--   把question_total這個表,建立到全文檢索目錄中,指定主鍵。  

exec   sp_fulltext_column   'answer_total',   'answer_content',   'add'  

--   把answer_total這個表,要檢索的answer_content列,新增到全文檢索中。  

exec   sp_fulltext_table   'answer_total',   'start_full'  

--   填充全文檢索記錄。  

select   fulltextcatalogproperty('a_id_desc',   'populatestatus')  

--   這句可以不用,是檢測是否添完狀態的,1代表正在進行,0代表完成。  

/*  

執行下列語句用於檢索。  

select   *  

from   freetexttable(question_total,   title,   '測試')  

select   *  

from   freetexttable(answer_total,   answer_content,   '測試')  

*/  

躁聲字檔案  

c:/program   files/microsoft   sql   server/mssql/ftdata/sqlserver/config/noise.chs  

我參考別人的做法,只保留了乙個?號。  

還有資料庫預設語言排序規則設定成chinese_prc_ci_as  

不要忘記建立乙個作業,定時(一般可以每天)為全文檢索新增記錄。  

exec   sp_fulltext_table   'answer_total',   'start_full'  

exec   sp_fulltext_table   'question_total',   'start_full'  

--   填充全文檢索記錄。 

例項演示在MSSQL中啟用全文檢索

如何在sql 中啟用全文檢索功能?本文將通過例項向你剖折這個問題。這是乙個全文索引的乙個例子,首先在查詢分析器中使用 www.c hinaitpower.coml1odlwyq use pubs go www.c hinaitpower.coml1odlwyq 開啟資料庫全文索引的支援www.c h...

MS SQL入門基礎 資料庫全文檢索

sql server 2000 的standard edition 和enterprise edition 版本提供了對錶資料中字串的複雜檢索功能 全文檢索 full text searches 此功能需要在安裝時通過自定義安裝選項來新增。10.7.1 全文索引和目錄 全文檢索是通過使用全文索引 f...

MS SQL入門基礎 資料庫全文檢索

sql server 2000 的standard edition 和enterprise edition 版本提供了對錶資料中字串的複雜檢索功能 全文檢索 full text searches 此功能需要在安裝時通過自定義安裝選項來新增。10.7.1 全文索引和目錄 全文檢索是通過使用全文索引 f...