自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析SQL Server全文檢索查詢

數(shù)據(jù)庫(kù) SQL Server
因?yàn)轫?xiàng)目需要,需要對(duì)上傳的文件內(nèi)容進(jìn)行查詢。通過MSDN了解到Windows索引服務(wù)可以實(shí)現(xiàn)對(duì)文件的全文檢索,并可以通過SQL Server進(jìn)行查詢。項(xiàng)目將這兩者結(jié)合,實(shí)現(xiàn)對(duì)上傳文件的全文檢索的解決方案。

因?yàn)轫?xiàng)目需要,需要對(duì)上傳的文件內(nèi)容進(jìn)行查詢。通過MSDN了解到Windows索引服務(wù)可以實(shí)現(xiàn)對(duì)文件的全文檢索,并可以通過SQL Server進(jìn)行查詢。項(xiàng)目將這兩者結(jié)合,實(shí)現(xiàn)對(duì)上傳文件的全文檢索的解決方案。

方案概要:

1. 改變文件存儲(chǔ)時(shí)的文件名

2. 配置索引服務(wù)器,并將索引服務(wù)器與MS SQL Server關(guān)聯(lián)。

3. 修改SQL語(yǔ)句,將進(jìn)行全文查詢語(yǔ)句的內(nèi)容加入查詢條件中

文件的存儲(chǔ)方式:

為了方便存儲(chǔ)以及方便索引,我們將上傳的文件存儲(chǔ)到一個(gè)目錄里面,為了保證上傳的文件名不重復(fù),采用GUID作為文件名,并且通過這個(gè)GUID于數(shù)據(jù)庫(kù)記錄相關(guān)聯(lián)。同時(shí),文件的后綴還保持原始文件的后綴,讓索引服務(wù)能夠識(shí)別該文檔。

配置索引服務(wù)

進(jìn)入計(jì)算機(jī)管理(Computer Management)程序(右鍵”我的電腦”->”管理”),并找到索引服務(wù)(Index Service)

配置索引服務(wù)的功能

(1)右鍵選擇索引服務(wù)彈出一個(gè)菜單

(2)選擇New->Catalog(新建一個(gè)編錄)

設(shè)置新增加的編錄

(1)輸入編錄的名字(這個(gè)名字需要與數(shù)據(jù)庫(kù)進(jìn)行關(guān)聯(lián),要注意命名,這里假設(shè)DCSII

(2)點(diǎn)Browse進(jìn)入選擇索引服務(wù)運(yùn)行目錄窗體

(3)選擇前面創(chuàng)建的索引運(yùn)行目錄(任意地方)

(4)點(diǎn)確定完成本次操作

在編錄創(chuàng)建號(hào)以后,需要給編錄增加目錄

(1)右鍵選擇剛剛創(chuàng)建的編錄

(2)選擇New->Directory(新建目錄)

新建索引目錄

(1)點(diǎn)擊Browse進(jìn)入目錄選擇頁(yè)面

(2)選擇要進(jìn)行全文檢索文件的目錄

(3)確定完成本次操作

完成創(chuàng)建后啟動(dòng)索引服務(wù)

(1)啟動(dòng)索引服務(wù)

(2)索引服務(wù)啟動(dòng)成功后索引編錄的信息,可以看到編錄信息就表示服務(wù)已經(jīng)啟動(dòng)成功。

將索引服務(wù)和SQL數(shù)據(jù)庫(kù)關(guān)聯(lián):

在SQL 查詢分析器(SQL Query Analyer)里執(zhí)行下面的存儲(chǔ)過程

EXEC sp_addlinkedserver Dcs, -- 連接服務(wù)器的名字,到后面查詢的時(shí)候要用到

'Index Server',

'MSIDXS',

'DCSII' -- 索引服務(wù)里新建的編錄名字

索引服務(wù)的性能調(diào)整方法1

(1)右鍵選擇索引服務(wù)

(2)選擇 All Tasks-> Tune Perrformance

(3)選擇用戶自定義

(4)點(diǎn)擊Customize進(jìn)入性能調(diào)整窗體

(5)將Index和Querying的屬性移動(dòng)到最右邊

(6)點(diǎn)確定完成操作

性能調(diào)整方法2

如果服務(wù)器不需要對(duì)整個(gè)系統(tǒng)的文件進(jìn)行索引,可以停止或者刪除System編錄。

MSSQL對(duì)索引服務(wù)器的調(diào)用

1. 通過sql語(yǔ)句查詢連接服務(wù)器的內(nèi)容

SELECT Q.*

FROM OpenQuery(dcs, --連接服務(wù)器名字

'SELECT FileName, Size, DocAuthor, path --在連接服務(wù)器里的sql語(yǔ)句

FROM SCOPE()

WHERE CONTAINS(''番號(hào) and abc'') '

) AS Q

2. 因?yàn)镾QL語(yǔ)句不支持動(dòng)態(tài)輸入的字符串,因此查詢字符串只好在C#代碼里進(jìn)行拼接

s.p.

實(shí)不用將文件保存到數(shù)據(jù)庫(kù)外面也能實(shí)現(xiàn)在數(shù)據(jù)庫(kù)里實(shí)現(xiàn)全文搜索。具體方案是在SQL Server 2000里安全全文搜索功能,用image字段存儲(chǔ)文件內(nèi)容,并新增一個(gè)字段存放文件類型,然后在通過企業(yè)管理器新建全文索引項(xiàng)的時(shí)候?qū)⑦@兩個(gè)字段匹配就可以。不過從數(shù)據(jù)庫(kù)的/率以及今后數(shù)據(jù)庫(kù)備份和恢復(fù)的效率上來看,將文件放在數(shù)據(jù)庫(kù)的設(shè)計(jì)不是太好。

【編輯推薦】

  1. 微軟SQLServer密碼管理的危險(xiǎn)判斷
  2. 如何使用SQLServer數(shù)據(jù)庫(kù)查詢累計(jì)值
  3. 淺析Oracle和SqlServer存儲(chǔ)過程的調(diào)試、出錯(cuò)處理
  4. 幾段SQLServer語(yǔ)句和存儲(chǔ)過程
  5. 微軟更新JDBC驅(qū)動(dòng)程序 支持SQLServer 2005
責(zé)任編輯:冰荷 來源: ccidnet
相關(guān)推薦

2010-07-21 09:58:21

SQL Server全

2010-10-20 10:55:54

SQL Server全

2010-11-10 14:18:15

SQL SERVER全

2010-07-16 15:42:32

SQL Server

2010-07-09 10:36:22

SQL Server

2010-07-01 10:20:41

SQL Server

2010-07-22 09:48:14

SQL Server全

2011-04-22 10:40:52

SQL ServerWord檢索

2015-07-13 11:39:25

SphinxSQL

2010-06-17 10:56:57

SQL Server數(shù)

2011-08-03 10:40:17

SQL Server數(shù)全文檢索

2009-09-17 18:05:15

linq to sql

2010-11-10 14:06:44

SQL Server全

2011-04-18 11:00:12

SQL Server全文索引

2010-11-10 14:26:44

Sql Server全

2011-08-30 13:54:29

SQL Server全文索引

2010-07-22 09:33:45

SQL Server全

2009-03-19 10:24:27

全文檢索文本定位Oracle

2009-03-13 10:03:34

2010-07-06 15:40:49

SQL Server
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)