SQL Server全文索引服務

來源:互聯網
上載者:User

SQL 7的全文檢索索引和Index Server的檢索方式非常類似。

Contains
AND, OR, NOT
可以在Contains中很方便使用邏輯運算式
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
這是一個在普通的邏輯運算式中沒有的關鍵字,意思是很簡單,就是說找到靠近的兩個詞
Example:
Select Content from MicrosoftRecord where contains(Content,'"比爾·蓋茨" NEAR "保羅·艾倫"')
這就表示要找到全文中包含比爾·蓋茨和保羅·艾倫,並且兩個詞相隔不遠。
FORMSOF INFLECTIONAL
這個功能可以尋找單詞的各種形式,比如過去式、複數、動詞形式、名詞形式等。可惜對中文沒什麼用
Example:
SELECT ProductName FROM Products WHERE CONTAINS(ProductName,'FORMSOF (INFLECTIONAL, dry)')
*
這個功能可以尋找單詞的首碼,不過對中文也沒有什麼用處
Example:
SELECT ProductName FROM Products WHERE CONTAINS(ProductName, '"dis*"')
ISABOUT WEIGHT
這個功能可以給複合查詢時不同的條件以不同的權重,以決定返回的記錄集的順序
SELECT CategoryName, Description FROM Categories WHERE CONTAINS(Description, 'ISABOUT spread weight (.8), sauces weight (.4), relishes weight (.2) )' )
權重的值可以從0.0到1.0
ContainsTable
它的使用方式和Contains基本相同,這裡就不再重複介紹了。要提到的是它返回的是一張供你進一步查詢的表,而不是一個查詢條件。
FreeText
如果使用這種方式,那麼查詢的時候會使用分詞技術來實現模糊查詢,並且過濾掉一些非關鍵詞,比較類似於Contains中的FORMSOF,可惜對中文也沒有什麼支援
Example:
SELECT CategoryName FROM Categories WHERE FREETEXT (Description, 'sweetest candy bread and dry meat' )
FreeTextTable
它和FreeText的差別就跟Contains和ContainsTable的差別一樣。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.