久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動(dòng):電腦PC端+手機(jī)端+微網(wǎng)站+自適應(yīng)網(wǎng)頁多模板選擇-建站388元起價(jià)!!!
當(dāng)前位置:主頁 > 網(wǎng)站建設(shè) > SQLServer 全文檢索(full-text)語法建站知識(shí)

SQLServer 全文檢索(full-text)語法建站知識(shí)

時(shí)間:2023-05-22 08:05:22 閱讀: 文章分類: 網(wǎng)站建設(shè) 作者: 網(wǎng)站技術(shù)員

導(dǎo)讀:1建站知識(shí)sql server 全文檢索有兩種搜索方式,一種是contains,另一種是freetext網(wǎng)站建設(shè)制作百度seo網(wǎng)站優(yōu)化。

網(wǎng)站建設(shè)制作百度seo網(wǎng)站優(yōu)化sql server 全文檢索有兩種搜索方式,一種是contains,另一種是freetext。前者是包含,類似于 like '%關(guān)鍵詞%',后者則是將一段文字分詞以后對(duì)每個(gè)詞進(jìn)行搜索。 具體語法: contains: SELECT 字段1,字段2 FROM 表名 WHERE contains(字段,'"詞一" or "詞二"') 根據(jù)查找結(jié)果的相似度排序 SELECT 字段1,字段2 FROM 表名 inner join containstable(表名, 字段,'"詞一" or "詞二"',10) as k on 表名.id = k.[key] order by k.RANK DESC freetext: SELECT 字段1,字段2 FROM 表名 WHERE freetext(字段,'詞一詞二') 根據(jù)查找結(jié)果的相似度排序 SELECT 字段1,字段2 FROM 表名 inner join freetexttable(表名, 字段,'詞一詞二',10) as k on 表名.id = k.[key] order by k.RANK DESC 上文中freetexttable或containstable的10表示取10條數(shù)據(jù)

最近搜索了一下全文檢索,發(fā)現(xiàn)了一些問題,現(xiàn)在總結(jié)如下:全文索引和查詢概念(摘自SQL 聯(lián)機(jī)幫助)全文索引、查詢和同步化最主要的設(shè)計(jì)要求是,在注冊(cè)進(jìn)行全文檢索的所有表上都有一個(gè)唯一的全文鍵列(或者單列主鍵)。全文索引對(duì)使用的重要字及其所在位置進(jìn)行跟蹤。例如,假定有一個(gè)對(duì) DevTools 表的全文索引。全文索引可能指出在 Abstract 列的第 423 個(gè)和第 982 個(gè)單詞處找到了單詞 Microsoft,所在的行與 ProductID 6 關(guān)聯(lián)。該索引結(jié)構(gòu)支持對(duì)所有包含被索引單詞的項(xiàng)進(jìn)行有效檢索,以及高級(jí)檢索操作,如短語檢索和鄰近檢索。為防止全文索引因包含很多對(duì)檢索沒有幫助的詞而變得臃腫,a、and、is 或 the 這類額外的詞都忽略不計(jì)。例如,指定"the products ordered during these summer months"與指定"products ordered during summer months"是一樣的。有這兩個(gè)字符串的行都會(huì)被返回。目錄 \Mssql\Ftdata\Sqlserver\Config 下提供了多種語言的干擾詞列表。在安裝帶有全文檢索支持的 Microsoft® SQL Server™ 時(shí)會(huì)創(chuàng)建這個(gè)目錄,并同時(shí)安裝干擾詞文件。干擾詞文件可以編輯。例如,高技術(shù)公司的系統(tǒng)管理員可以把單詞 computer 添加到他們的干擾詞表中去。(如果編輯干擾詞文件,則必須在更改生效之前重新填充全文目錄。)下表顯示了干擾詞文件及其相應(yīng)的語言。干擾詞文件      語言 -------------- ---------Noise.chs      簡體中文 Noise.cht      繁體中文 Noise.dat      語言中性 Noise.deu      德語 Noise.eng      英語(英國) Noise.enu      英語(美國) Noise.esn      西班牙語 Noise.fra      法語 Noise.ita      意大利語 Noise.jpn      日語 Noise.kor      韓文 Noise.nld      荷蘭語 Noise.sve      瑞典語 在處理全文查詢時(shí),檢索引擎將滿足檢條件的行的鍵值返回給 Microsoft SQL Server。比如有一個(gè) SciFi 表,其中 Book_No 列是主鍵列。Book_No   Writer     Title -------- ----------- --------------------------A025     Asimov      Foundation's Edge A027     Asimov      Foundation and Empire C011     Clarke      Childhood's End V109     Verne       Mysterious Island 假定想使用一個(gè)全文檢索查詢來查找包含單詞 Foundation 的書名。在本例中,將從全文索引獲得值 A025 和 A027。然后 SQL Server 用這些鍵值和其它欄的信息響應(yīng)該查詢。下表顯示了存儲(chǔ)全文索引數(shù)據(jù)所使用的語言。這些語言基于 SQL Server 安裝期間選擇的 Unicode 排序規(guī)則區(qū)域設(shè)置標(biāo)識(shí)符。Unicode 排序規(guī)則區(qū)域設(shè)置標(biāo)識(shí)符    全文數(shù)據(jù)存儲(chǔ)所用的語言 ------------------------------- -----------------------中文注音符號(hào)(臺(tái)灣)              繁體中文  漢語拼音                         簡體中文  中文筆畫                         簡體中文  中文筆畫(臺(tái)灣)                 繁體中文  荷蘭語                           荷蘭語  英語(英國)                     英語(英國)  法語                            法語  通用 Unicode                    英語(美國)  德語                            德語  德文電話簿                       德語  意大利語                         意大利語  日語  &n網(wǎng)站seo優(yōu)化軟件bsp;                         日語  日語 Unicode                    日語  韓文                            韓文  韓文 Unicode                    韓文  西班牙語(現(xiàn)代)                 西班牙語  瑞典/芬蘭語                      瑞典語  此列表中沒有的其它所有 Unicode 排序規(guī)則區(qū)域設(shè)置標(biāo)識(shí)符值都映射到使用空格分隔單詞的中性語言單詞的斷字符和詞干分隔符。說明  Unicode 排序規(guī)則區(qū)域設(shè)置標(biāo)識(shí)符設(shè)置用于所有可進(jìn)行全文索引的數(shù)據(jù)類型(如 char、nchar 等)。如果為 char、varchar 或 text 類型列的排序次序設(shè)置的語言類型,不是 Unicode 排序規(guī)則區(qū)域設(shè)置標(biāo)識(shí)符語言,那么在對(duì) char、varchar 和 text 類型的列進(jìn)行全文索引和查詢時(shí),仍然使用 Unicode 排序規(guī)則區(qū)域設(shè)置標(biāo)識(shí)符值。創(chuàng)建全文索引(以索引image列為例,其他類型字段大致一樣)標(biāo)題     全文索引image列,全攻略!作者     pengdali [原作]  關(guān)鍵字   全文索引 image 今天“百年不遇”的停電了,看了一天書。晚上搞了一下全文索引,決定把心得貼出來,我盡量寫的詳細(xì),大家共同學(xué)習(xí),歡迎指正!1、啟動(dòng) Microsoft Search 服務(wù)   開始菜單-->SQL程序組-->服務(wù)管理器-->下拉筐-->Microsoft Search 服務(wù)-->啟動(dòng)它2、  ..\Microsoft SQL Server\MSSQL\FTDATA\SQLServer\Config\目錄里建一個(gè)非空noise.chs文件  非空noise.chs文件,也有人說是空的noise.chs文件,但我每次都往里寫幾個(gè)沒用的字母。3、建立環(huán)境   打開查詢分析器-->執(zhí)行下列腳本:--------------------------------------------create database test ---創(chuàng)建test數(shù)據(jù)庫use test             ---選擇test數(shù)據(jù)庫create table  dali (ID int not null primary key,MyImage image,FileType varchar(255),FileNmae varchar(255)) ---創(chuàng)建dali表--dali表中 Id,MyImage,FileType 三列是必須的,因?yàn)橐獙?duì)image列索引的話,必須要有一個(gè)主鍵列,一個(gè)image列,一個(gè)存放文件類型的列--我們知道在windows系統(tǒng)中文件類型是靠擴(kuò)展名來區(qū)分的所以FileType列也就是用來放 文件的擴(kuò)展名--------------------------------------------sp_fulltext_database 'enable' --為全文索引啟用數(shù)據(jù)庫sp_fulltext_catalog 'My_FullDir', 'create'  ---創(chuàng)建一個(gè)叫My_FullDif的全文目錄declare @Key sysname ; select @Key=c.name from syscolumns a,sysconstraints b,sysobjects c where a.id=object_id('dali') and a.name='ID' and a.id=b.id and b.constid=c.id and c.name like 'PK%'exec sp_fulltext_table 'dali','create','My_FullDir',@Key  ----這兩句是為全文索引,對(duì)表進(jìn)行標(biāo)記sp_fulltext_column 'dali','MyImage','add',0x0804,'FileType'  ---這句是指定MyImage列為全文索引列,FileType是類型列------------------------------------------------4、在c盤下放一個(gè)擴(kuò)展名為doc的word文件,一個(gè)擴(kuò)展名為xls的excel文件,一個(gè)擴(kuò)展名為htm的網(wǎng)頁文件,個(gè)擴(kuò)展名為bmp的圖片   共4個(gè),大家可根據(jù)實(shí)際情況放入!5、插入數(shù)據(jù)  建立下面這個(gè)存儲(chǔ)過程--------------------------------------------------CREATE PROCEDURE sp_textcopy   @srvname    varchar (30),   @login  網(wǎng)站建設(shè)多少錢    varchar (30),   @password    varchar (30),   @dbname      varchar (30),   @tbname      varchar (30),   @colname    varchar (30),   @filename    varchar (30),   @whereclause varchar (40),   @direction  char(1) AS /* 這是使用textcopy工具將文件插入到數(shù)據(jù)庫中,如果有前臺(tái)工具可以用前臺(tái)開發(fā)工具將文件插入,這里為了演示 */DECLARE @exec_str varchar (255) SELECT @exec_str='textcopy /S '+@srvname+' /U '+@login+' /P '+@password+' /D '+@dbname+' /T'+@tbname+' /C '+@colname+' /W"'+@whereclause+'" /F"'+@filename+'" /'+@directionEXEC master..xp_cmdshell @exec_str----------------------------------------------------insert dali values(1,0x,'doc','大力的doc') ---其中第二列是 0x 它是一個(gè)16進(jìn)制數(shù)對(duì)應(yīng)image列,是必須的,不要寫null,第三列是文件類型,既擴(kuò)展名sp_textcopy '你的服務(wù)器名','sa','你的密碼','test','dali','MyImage','c:\大力的doc.doc','where ID=1','I'-------依次參數(shù)是:實(shí)例名,用戶名,密碼,數(shù)據(jù)庫名,表名,image列名,路徑及文件名,條件(你必須保證它只選擇一行),I---------------------------------------------------------------------------------------------------------------------insert dali values(2,0x,'bmp','圖片')sp_textcopy '你的服務(wù)器名','sa','你的密碼','test','dali','MyImage','c:\圖片.bmp','wher網(wǎng)站seo優(yōu)化e ID=2','I' --注意條件是 ID=2insert dali values(3,0x,'xls','Excel文件')sp_textcopy '你的服務(wù)器名','sa','你的密碼','test','dali','MyImage','c:\Excel文件.xls','where ID=3','I' --注意條件是 ID=3insert dali values(4,0x,'htm','網(wǎng)頁')sp_textcopy '你的服務(wù)器名','sa','你的密碼','test','dali','MyImage','c:\網(wǎng)頁.htm','where ID=4','I' --注意條件是 ID=4----------上面的語句,要保證類型一樣,路徑正確,條件唯一正確應(yīng)該就可以了6、填充全文索引sp_fulltext_table 'dali','start_full' ---第一個(gè)參數(shù)是表名,第二個(gè)參數(shù)是啟動(dòng)表的全文索引的完全填充7、可以開始你的實(shí)驗(yàn)了select * from dali where contains(MyImage,'J老師')select * from dali where contains(MyImage,'海老師')------END------------調(diào)試環(huán)境:SQLServer2000企業(yè)版、Windows2000高級(jí)服務(wù)器全文索引中的幾個(gè)問題:1.搜索時(shí)出現(xiàn)錯(cuò)誤:  服務(wù)器: 消息 7619,級(jí)別 16,狀態(tài) 1,行 2  查詢子句只包含被忽略的詞  這種情況修改 \Mssql\Ftdata\Sqlserver\Config 下對(duì)應(yīng)語言的干擾詞列表文件2.修改了干擾詞文件,查詢中文時(shí)仍然出現(xiàn)上述問題  a.首先檢查你的SQL有沒有安裝最新的補(bǔ)丁,檢查的方法是在查詢分析器中運(yùn)行:    select @@version    如果出來的版本號(hào)是8.00.760以下,則表明你未安裝sp3的補(bǔ)丁,要裝上.    SQL補(bǔ)丁下載:    ?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766     注意下載后,執(zhí)行的時(shí)候是解壓,要在解壓后的目錄中執(zhí)行setup.bat才是真正的安裝  b.配置全文索引時(shí),單詞斷字符選擇"中文(中國)"  c.Noise.chs文件中至少有一個(gè)單詞,例如:?  d.如果在全文檢索時(shí),你能正常修改干擾詞文件,說明你的全文檢索沒有使用上這個(gè)文件    如果你配置的全文檢索應(yīng)該要用到這個(gè)文件,那就在    企業(yè)管理器--展開你的數(shù)據(jù)庫--右鍵全文目錄--重建全部全文目錄3.表中的數(shù)據(jù)改變后,檢索不到  方法1. 右鍵你的表--全文索引表--啟用增量填充  方法2. 右鍵你的表--全文索引表--更改跟蹤,這樣以后的修改會(huì)自動(dòng)填充(有一定延遲)4.sql2000才支持對(duì)image列的全文檢索

關(guān)鍵詞標(biāo)簽: 標(biāo)簽 SQL 語法

聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-05-22 ,文章SQLServer 全文檢索(full-text)語法建站知識(shí)主要講述語法,標(biāo)簽,SQL網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/web_4138.html

我的IDC 網(wǎng)站建設(shè)技術(shù)SEOUC.COM
專注網(wǎng)站建設(shè),SEO優(yōu)化,小程序設(shè)計(jì)制作搭建開發(fā)定制網(wǎng)站等,數(shù)千家網(wǎng)站定制開發(fā)案例,網(wǎng)站推廣技術(shù)服務(wù)。
  • 5000+合作客服
  • 8年從業(yè)經(jīng)驗(yàn)
  • 150+覆蓋行業(yè)
  • 最新熱門源碼技術(shù)文章

    主站蜘蛛池模板: 陵水| 吴旗县| 金华市| 金阳县| 濮阳县| 武鸣县| 五原县| 米易县| 延津县| 黄平县| 信宜市| 阿合奇县| 增城市| 璧山县| 呼和浩特市| 隆昌县| 诸城市| 岚皋县| 汤阴县| 马尔康县| 屯门区| 奉化市| 内江市| 九龙县| 循化| 龙井市| 崇文区| 陵水| 永年县| 京山县| 萨嘎县| 于田县| 鞍山市| 桦川县| 德化县| 呼玛县| 游戏| 克山县| 九江市| 景谷| 会东县|