人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

SQL?Server的全文搜索功能

發(fā)布日期:2022-07-15 19:05 | 文章來源:站長之家

一、使用SQL Server全文搜索配置

要使用SQL Server的全文搜索服務(wù),需要進(jìn)行如下配置。

1、開啟全文搜索服務(wù):

2、開啟數(shù)據(jù)庫的全文索引功能:

--開啟數(shù)據(jù)庫的全文搜索功能
EXEC sp_fulltext_database 'enable';

3、創(chuàng)建全文索引目錄:

--創(chuàng)建全文索引目錄
CREATE FULLTEXT CATALOG IndexCatalog
     ON FILEGROUP [PRIMARY]
     IN PATH 'E:\SQLServerIndex'
     AS DEFAULT

4、創(chuàng)建唯一索引:

--創(chuàng)建唯一索引
CREATE UNIQUE NONCLUSTERED INDEX IndexContent ON Article(ArticleContent ASC)

5、創(chuàng)建全文索引:

--創(chuàng)建全文索引
CREATE FULLTEXT INDEX ON Article
  (ArticleContent)
  KEY INDEX IndexContent ON IndexCatalog    --IndexContent是唯一索引名

二、使用全文搜索

CONTAINS搜索方式

1.簡單詞搜索

- 搜索一個或多個特定的詞或短語。詞可以包括一個或多個字符,中間沒有空格或標(biāo)點。短語可以由空格分隔的多個詞組成,但詞之間可以有標(biāo)點也可以沒標(biāo)點:

--搜索文章內(nèi)容含有張三或者李四的記錄
  SELECT * FROM Article WHERE CONTAINS(ArticleContent,'"張三" OR "李四"')

2.前綴詞搜索的方式

- 搜索指定文本開頭的詞或短語,前綴詞的搜索方式主要是用在搜索英文中,例如搜索以“do”開頭的單詞,則可以將doctor、document、download等單詞都搜索出來。

--搜索文章內(nèi)容中含有以'認(rèn)'開始的詞的記錄
  SELECT * FROM Article WHERE CONTAINS(ArticleContent,'"認(rèn)*"')    --認(rèn)為,認(rèn)識

3.加權(quán)詞搜索的方式

- 給多個搜索條件加上權(quán)值,加權(quán)值越高的記錄排在越前面,當(dāng)以多個字符串作為搜索條件搜索記錄時,可以為不同的字符串加上一個加權(quán)值,這個加權(quán)值是介于0和1之間的數(shù)值,加權(quán)值越高的記錄排在越前面。事實上在該SELECT語句的返回結(jié)果集里,并沒有按加權(quán)值的大小來排序,因為WEIGHT不影響CONTAINS查詢的結(jié)果,只會影響CONTAINSTABLE查詢中的排序:

--在CONTAINS搜索中,權(quán)重并不影響排序
  SELECT * FROM Article
  WHERE CONTAINS(ArticleContent,'ISABOUT ("北京" weight(0.9),"上海"  weight(0.6),"廣州"  weight(0.5))')

4.鄰近詞搜索的方式

- 可以搜索與另一個詞或短語相鄰近的詞或短語:

--搜索文章內(nèi)容中第二個詞在第一個詞附近的記錄
  SELECT * FROM Article WHERE CONTAINS(ArticleContent,'"張三" NEAR "李四"')

FREETEXT搜索方式

FREETEXT搜索方式與CONTAINS搜索方式相比,其搜索結(jié)果表現(xiàn)都十分不精確,因為FREETEXT的搜索方式是將一個句子中的每個單字拆分開進(jìn)行搜索的。使用CONTAINS搜索方式搜索條件為“教育部”的記錄,那么搜索出來的將是記錄里包含“教育部”三個字符串的記錄。

--搜索文章內(nèi)容中包含'程'字和'社'字的記錄
  SELECT * FROM Article WHERE FREETEXT(ArticleContent,'程社')

CONTAINSTABLE搜索方式

1、CONTAINSTABLE基本搜索:

--CONTAINSTABLE搜索文章內(nèi)容中含有友誼的記錄
  SELECT * FROM CONTAINSTABLE(Article,ArticleContent,'友誼') as table1

留意到返回中指包含了兩個字段:

其實就是CONTAINSTABLE表中的數(shù)據(jù)。

2、CONTAINSTABLE返回所需列:

--CONTAINSTABLE搜索返回所需列
  SELECT * FROM Article JOIN
    CONTAINSTABLE(Article,ArticleContent,'"環(huán)境"',2) as table1
    ON Article.ArticleContent = table1.[KEY]
  ORDER BY table1.RANK DESC

3、CONSTAINSTABLE按符合條件排序

--按符合條件排序
  SELECT * FROM Article JOIN
      CONTAINSTABLE(Article,ArticleContent,' "泰國" NEAR "高鐵" ',10) as table1
      ON Article.ArticleContent = table1.[KEY]
   ORDER BY table1.RANK DESC

看到查詢結(jié)果的確按符合條件進(jìn)行了排序:

4、CONSTAINSTABLE按按權(quán)值排序

--權(quán)重值排序
  SELECT * FROM Article JOIN
  CONTAINSTABLE(Article,ArticleContent,
  'ISABOUT ("泰國" weight(0.9),
  "高鐵"  weight(0.6),
  "環(huán)境"  weight(0.1))') AS TABLE1
  ON Article.ArticleContent = TABLE1.[KEY]
  ORDER BY TABLE1.RANK DESC

結(jié)果按照權(quán)重值排序:

使用FREETEXTTABLE搜索

單個字搜索,但是多了參數(shù)可供使用:語法如下:

FREETEXTTABLE (table , { column_name | (column_list) | * }
  , 'freetext_string'
  [ ,LANGUAGE language_term ]
  [ ,top_n_by_rank ] )

示例:

搜索image字段

在SQL Server 2005的image類型的字段里,不僅僅是可以存儲圖形文件,還可以存儲如可執(zhí)行文件、音樂文件、文本文件等眾多文件類型。SQL Server 2005支持對存儲在image類型的字段里的一些文件的內(nèi)容進(jìn)行全文搜索,但在創(chuàng)建全文索引時必須指明存儲在image字段里的文件的類型。

SQL Server 2005支持對存儲在image中的純文本文件、網(wǎng)頁文件、Word文件、Excel文件和PowerPoint文件的內(nèi)容進(jìn)行查詢,其擴(kuò)展名字段必須分別為txt、htm、doc、xls和ppt。全文索引創(chuàng)建完畢后,對image字段里的文件內(nèi)容進(jìn)行查詢的方法與其他字段的查詢方法是一樣的:

SELECT 編號,標(biāo)題,文件,擴(kuò)展名 FROM 文章 WHERE CONTAINS(文件,'數(shù)據(jù)庫')

三、小結(jié)與評價

下面給出這個SQL Server全文搜索的常用SQL語句:

--開啟數(shù)據(jù)庫的全文搜索功能:
EXEC sp_fulltext_database 'enable'; --數(shù)據(jù)庫啟用全文索引
--關(guān)閉數(shù)據(jù)庫的全文搜索功能:
EXEC sp_fulltext_database 'disable'; --數(shù)據(jù)庫禁用全文索引

--如果你忘記了全文索引的目錄、表、列創(chuàng)建過全文索引
EXEC sp_help_fulltext_catalogs    --全文索引目錄
EXEC sp_help_fulltext_columns    --全文索引列
EXEC sp_help_fulltext_tables    --全文索引表

到此這篇關(guān)于SQL Server全文搜索的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。

香港穩(wěn)定服務(wù)器

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部