[SQL SERVER][Memo]使用Linked Server和索引服務查詢非結構化文件

[SQL SERVER][Memo]使用Linked Server和索引服務查詢非結構化文件

索引服務簡單來說就是加快檔案搜尋速度,一種用空間換時間的作法,

以前我有測試過開啟索引服務後來比較,雖然真的可以改善檔案搜尋效能(其實差距沒很大),

但是所花費硬碟空間我個人是覺得不太符合比例,所以後來我電腦幾乎都沒在使用索引服務,

anyway~~如果你想使用TSQL來搜尋非結構化檔案的話,

那麼透過Linked Server加上索引服務也是一種可行的方法(效能方面須多注意),

下面自行記錄一下。

 

1.啟用索引服務(過程很簡單就不貼圖了..XD)

image

 

2.建立Linked Server


Exec sp_addlinkedserver WebIndex, 'Index Server', 'MSIDXS', 'Web'

Exec sp_addlinkedsrvlogin WebIndex, true, 'your login'

 

測試

image 

image 

 

3.查詢htm檔案內容有 "驗證" 文字,並依照點擊率由大到小排序

SELECT *
FROM OpenQuery(WebIndex,
'SELECT Directory, FileName, doctitle,DocAuthor, Size, Create,Rank, HitCount 
FROM SCOPE() WHERE CONTAINS( Contents, ''驗證'' )' )
where filename like '%.htm'
order by HitCount desc 

 



image 


(擷取部份)

 

 

 

參考

Chapter 23 - Textual Searches on File Data

Microsoft Indexing Service How-To

HOW TO: Optimize Indexing Service Performance in Windows 2000