SQL Server全文索引服務(wù)
更新時間:2006年09月07日 00:00:00 作者:
SQL 7的全文檢索和Index Server的檢索方式非常類似。
Contains
AND, OR, NOT
可以在Contains中很方便使用邏輯表達(dá)式
Example:
Select username from member where contains(userinfo,'"作家" AND "木匠"')
Select username from member where contains(userinfo,'"作家" OR "木匠"')
Select username from member where contains(userinfo,'"作家" AND NOT "木匠"')
NEAR
這是一個在普通的邏輯表達(dá)式中沒有的關(guān)鍵字,意思是很簡單,就是說找到靠近的兩個詞
Example:
Select Content from MicrosoftRecord where contains(Content,'"比爾·蓋茨" NEAR "保羅·艾倫"')
這就表示要找到全文中包含比爾·蓋茨和保羅·艾倫,并且兩個詞相隔不遠(yuǎn)。
FORMSOF INFLECTIONAL
這個功能可以查找單詞的各種形式,比如過去式、復(fù)數(shù)、動詞形式、名詞形式等??上χ形臎]什么用
Example:
SELECT ProductName FROM Products WHERE CONTAINS(ProductName,'FORMSOF (INFLECTIONAL, dry)')
*
這個功能可以查找單詞的前綴,不過對中文也沒有什么用處
Example:
SELECT ProductName FROM Products WHERE CONTAINS(ProductName, '"dis*"')
ISABOUT WEIGHT
這個功能可以給復(fù)合查詢時不同的條件以不同的權(quán)重,以決定返回的記錄集的順序
SELECT CategoryName, Description FROM Categories WHERE CONTAINS(Description, 'ISABOUT spread weight (.8), sauces weight (.4), relishes weight (.2) )' )
權(quán)重的值可以從0.0到1.0
ContainsTable
它的使用方式和Contains基本相同,這里就不再重復(fù)介紹了。要提到的是它返回的是一張供你進(jìn)一步查詢的表,而不是一個查詢條件。
FreeText
如果使用這種方式,那么查詢的時候會使用分詞技術(shù)來實現(xiàn)模糊查詢,并且過濾掉一些非關(guān)鍵詞,比較類似于Contains中的FORMSOF,可惜對中文也沒有什么支持
Example:
SELECT CategoryName FROM Categories WHERE FREETEXT (Description, 'sweetest candy bread and dry meat' )
FreeTextTable
它和FreeText的差別就跟Contains和ContainsTable的差別一樣。
Contains
AND, OR, NOT
可以在Contains中很方便使用邏輯表達(dá)式
Example:
Select username from member where contains(userinfo,'"作家" AND "木匠"')
Select username from member where contains(userinfo,'"作家" OR "木匠"')
Select username from member where contains(userinfo,'"作家" AND NOT "木匠"')
NEAR
這是一個在普通的邏輯表達(dá)式中沒有的關(guān)鍵字,意思是很簡單,就是說找到靠近的兩個詞
Example:
Select Content from MicrosoftRecord where contains(Content,'"比爾·蓋茨" NEAR "保羅·艾倫"')
這就表示要找到全文中包含比爾·蓋茨和保羅·艾倫,并且兩個詞相隔不遠(yuǎn)。
FORMSOF INFLECTIONAL
這個功能可以查找單詞的各種形式,比如過去式、復(fù)數(shù)、動詞形式、名詞形式等??上χ形臎]什么用
Example:
SELECT ProductName FROM Products WHERE CONTAINS(ProductName,'FORMSOF (INFLECTIONAL, dry)')
*
這個功能可以查找單詞的前綴,不過對中文也沒有什么用處
Example:
SELECT ProductName FROM Products WHERE CONTAINS(ProductName, '"dis*"')
ISABOUT WEIGHT
這個功能可以給復(fù)合查詢時不同的條件以不同的權(quán)重,以決定返回的記錄集的順序
SELECT CategoryName, Description FROM Categories WHERE CONTAINS(Description, 'ISABOUT spread weight (.8), sauces weight (.4), relishes weight (.2) )' )
權(quán)重的值可以從0.0到1.0
ContainsTable
它的使用方式和Contains基本相同,這里就不再重復(fù)介紹了。要提到的是它返回的是一張供你進(jìn)一步查詢的表,而不是一個查詢條件。
FreeText
如果使用這種方式,那么查詢的時候會使用分詞技術(shù)來實現(xiàn)模糊查詢,并且過濾掉一些非關(guān)鍵詞,比較類似于Contains中的FORMSOF,可惜對中文也沒有什么支持
Example:
SELECT CategoryName FROM Categories WHERE FREETEXT (Description, 'sweetest candy bread and dry meat' )
FreeTextTable
它和FreeText的差別就跟Contains和ContainsTable的差別一樣。
相關(guān)文章
sql server學(xué)習(xí)基礎(chǔ)之內(nèi)存初探
這篇文章主要給大家介紹了關(guān)于sql server中內(nèi)存的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者理解sql server具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
SQL Server誤區(qū)30日談 第28天 有關(guān)大容量事務(wù)日志恢復(fù)模式的誤區(qū)
在大容量事務(wù)日志恢復(fù)模式下只有一小部分批量操作可以被“最小記錄日志”,這類操作的列表可以在Operations That Can Be Minimally Logged找到。這是適合SQL Server 2008的列表,對于不同的SQL Server版本,請確保查看正確的列表2013-01-01
Navicat 連接SQLServer數(shù)據(jù)庫(圖文步驟)
這篇文章主要介紹了Navicat 連接SQLServer數(shù)據(jù)庫(圖文步驟),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

