您好,登錄后才能下訂單哦!
SQL Server中怎么實現全文索引服務,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
SQL7的全文檢索和IndexServer的檢索方式非常類似。 Contains AND,OR,NOT 可以在Contains中很方便使用邏輯表達式 Example: Selectusernamefrommemberwherecontains(userinfo,'"作家"AND"木匠"') Selectusernamefrommemberwherecontains(userinfo,'"作家"OR"木匠"') Selectusernamefrommemberwherecontains(userinfo,'"作家"ANDNOT"木匠"') NEAR 這是一個在普通的邏輯表達式中沒有的關鍵字,意思是很簡單,就是說找到靠近的兩個詞 Example: SelectContentfromMicrosoftRecordwherecontains(Content,'"比爾·蓋茨"NEAR"保羅·艾倫"') 這就表示要找到全文中包含比爾·蓋茨和保羅·艾倫,并且兩個詞相隔不遠。 FORMSOFINFLECTIONAL 這個功能可以查找單詞的各種形式,比如過去式、復數、動詞形式、名詞形式等。可惜對中文沒什么用 Example: SELECTProductNameFROMProductsWHERECONTAINS(ProductName,'FORMSOF(INFLECTIONAL,dry)') * 這個功能可以查找單詞的前綴,不過對中文也沒有什么用處 Example: SELECTProductNameFROMProductsWHERECONTAINS(ProductName,'"dis*"') ISABOUTWEIGHT 這個功能可以給復合查詢時不同的條件以不同的權重,以決定返回的記錄集的順序 SELECTCategoryName,DescriptionFROMCategoriesWHERECONTAINS(Description,'ISABOUTspreadweight(.8),saucesweight(.4),relishesweight(.2))') 權重的值可以從0.0到1.0 ContainsTable 它的使用方式和Contains基本相同,這里就不再重復介紹了。要提到的是它返回的是一張供你進一步查詢的表,而不是一個查詢條件。 FreeText 如果使用這種方式,那么查詢的時候會使用分詞技術來實現模糊查詢,并且過濾掉一些非關鍵詞,比較類似于Contains中的FORMSOF,可惜對中文也沒有什么支持 Example: SELECTCategoryNameFROMCategoriesWHEREFREETEXT(Description,'sweetestcandybreadanddrymeat') FreeTextTable 它和FreeText的差別就跟Contains和ContainsTable的差別一樣。
看完上述內容,你們掌握SQL Server中怎么實現全文索引服務的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。