Hubbledotnet中文手冊_第1頁
Hubbledotnet中文手冊_第2頁
Hubbledotnet中文手冊_第3頁
Hubbledotnet中文手冊_第4頁
Hubbledotnet中文手冊_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、H 使用手冊H Team最后更新時間 2009-12-14Version: 系統簡介3物理視圖3邏輯視圖4三級緩存5并發控制6內存管理6SQL 語句6T-SFQL 語言6數據庫操作6創建數據庫6刪除數據庫7數據表操作7建表7刪除表14插入(Insert) 語句14Syntax15Arguments15示例16批量插入17示例17刪除(Delete)語句17Syntax17示例18修改(Update) 語句18Syntax18示例19查詢(Select) 語句19Syntax19Arguments19示例23系統存儲過程24SP_AddDatabase24SP_AddExterna

2、lReference24SP_AnalyzerList25SP_Columns25SP_Configure25SP_DatabaseList26SP_DBAdapterList26SP_DeleteExternalReference27SP_DropDatabase27SP_DropTable28SP_ExcuteSql28SP_ExcuteSql29SP_GetWordsPositions29SP_OptimizeTable30SP_QueryCacheReport30SP_QuerySql30SP_ShowExternalReference31SP_TableList32SP_TableQ

3、ueryCache32SP_TestAnalyzer32SP_UpdateDatabase33SP_Version33SQLClient33示例1:執行無返回命令34示例2:執行有返回命令34示例3:執行帶參數命令35示例4:使用數據緩存35示例4:高亮顯示36查詢分析器37系統簡介 H 是一個基于.net framework 的開源全文搜索數據庫項目。全文搜索數據庫系統區別于普通關系數據庫系統,它可以讓使用者方便的文本信息進行全文搜索,同時它也提供對數據庫中字段的邏輯查詢。目前的一些主流數據庫都提供了FullText Search 功能,但其全文搜索的功能相對較弱,無法很好的滿足實際應用需要

4、,而一些全文搜索組件,比如比較著名的Lucene,則只提供了全文搜索功能,而缺乏和關系數據庫的關聯。H 是一款集合全文搜索和關系查詢于一體的新型數據庫系統,用戶可以方便的通過SQL語句對數據庫進行全文搜索,關系查詢甚至全文+關系的查詢。物理視圖DatabaseHDatabaseIndexSQL ClientSQL InterfaceAnalyzerH physical viewH 將全文搜索和關系數據庫整合到一起,通過SQL語句對數據庫中的數據進行全文和關系查詢。H 組件本身負責對全文數據進行倒排索引,并將索引存儲到表所指定的目錄下,數據的存儲則由和H 關聯的關系數據庫完成。H 提供了一個 I

5、DBAdpter 接口,用戶可以根據這個接口實現自定義的數據庫適配。如何添加自定義的數據庫適配器,將在存儲過程一節中闡述。建立倒排索引時需要對輸入的全文文本進行分詞,H 為用戶提供了一個 IAnalyzer 接口來完成自定義的分詞器。如何添加自定義的分詞器,將在存儲過程一節中闡述。H 在安裝后以一個系統服務的形式存在。 H 提供一個 Hubble.SQLClient 組件來和H 的系統服務進行交互,SQLClient 的接口和A 中的SqlClient接口類型,具體將在SQLClient一節中闡述。邏輯視圖Hubble.NetRelational database system Databas

6、eDatabaseTableTableTableTableTableTableH logistic viewH 和 關系數據庫一樣,存在數據庫和數據庫表的概念。H 的數據庫和數據表只是提供一個和對應關系數據庫的映射描述關系,并不存在數據庫和數據表的實體。用戶在通過SQL 語句操作H 的數據庫和數據表是,H 將自動和對應的關系數據庫實體進行關聯,從用戶側看,H就像一個數據庫實體。H 負責建立文本字段的倒排索引和Untokenized字段的單值索引。關系數據庫負責建立B+樹索引。如果查詢語句不包括對全文字段的搜索,則直接轉發給數據庫利用數據庫的索引進行查詢。三級緩存Index cacheQuery

7、 cacheData cacheH three level cacheSQLClient HSystem service如上圖所示,H 提供三種級別的緩存方案。Index cache :索引級別緩存用于緩存倒排索引和單值索引。這種緩存為系統自動管理,不能關閉。索引級別緩存會自動監控數據的增刪改,并進行相應修改。Query cache :查詢級別緩存對查詢的條件進行緩存,H 系統服務會將不同查詢條件對應的文檔ID(DocId)緩存下來,下次查詢時直接從緩存中獲取符合條件的文檔ID,不再訪問低級別緩存或索引。和索引級別緩存不同的是,當表的數據發生變化時,查詢級別緩存將會失效,需要重新緩存。Data

8、 cache :數據級別緩存運行在客戶端,客戶端查詢得到的數據被緩存下來,下次查詢時將從數據緩存中直接獲取數據,而不再到H 系統服務中去獲取數據。和查詢級別緩存一樣,表的數據發生變化時,數據級別緩存將會失效,需要重新緩存。并發控制H 設計了非常完善的并發控制機制,用戶的增刪改查可以同時進行,不會存在任何沖突。內存管理H 以系統服務存在,不會像Lucene那樣和應用程序共用內存。H 設計了一套內存管理機制,用戶可以設置最大內存使用數量,一旦H 使用內存超過這個數量,H 就會自動啟動內存整理程序,將一些不經常使用的緩存從內存中清理掉以騰出更多的內存空間給用戶。用戶可以通過 SP_CONFIGURE

9、 存儲過程來查看和管理內存。SQL 語句T-SFQL 語言T-SFQL (Transact-Structured Full-text Query Language) 是在T-SQL 標準基礎上衍生出來的結構化全文查詢語言。2009年由H 提出,用于全文數據庫的查詢和管理。數據庫操作創建數據庫EXEC SP_ADDDATABASE第一個參數是 數據庫名,這個數據庫名指在H 中創建的數據庫名。第二個參數是數據庫的默認路徑,建表時如果不指定表的路徑,則默認將表文件建立在表所在數據庫的默認路徑下。第三個參數是默認數據庫適配器名稱,建表時如果不指定數據庫適配器,則使用表所在數據庫的默認數據庫適配器。H

10、自帶一個數據庫適配器SQLSERVER2005,SQLSERVER 2005 數據庫適配器可以支持SQLSERVER 2005 及以后版本。第四個參數是默認連接字符串,這個字符串用于將H 和數據庫相關聯。建表時,如果不指定數據庫連接字符串,則使用表所在數據庫的默認數據庫連接字符串。創建數據庫操作只創建H 和關系數據庫的關聯關系,不會在關系數據庫中創建數據庫。這種關聯關系由第三和第四個參數指定。示例:exec sp_adddatabase 'News', 'd:testnews', 'SQLSERVER2005', 'Data Source

11、=(local);Initial Catalog=News;Integrated Security=True'刪除數據庫EXEC SP_DROPDATABASE第一個參數是 數據庫名,這個數據庫名指在H 中創建的數據庫名。刪除數據庫操作只刪除H 和關系數據庫的關聯關系,不會刪除關系數據庫中對應的數據庫。數據表操作建表語法Directory(directory) OptionalIndexOnly OptionalForceCollectCount(count) -OptionalDBTableName(table name) OptionalDBAdapter(adapter name

12、) OptionalDBConnect(connection string) OptionalCREATE TABLEtable_name ( < column_definition >         | column_name AS computed_column_expression         | < table_constraint > ,.n ) 屬性Directory(directory) Optiona

13、l這個屬性指定全文索引在本地的地址。這個屬性是可選屬性。不指定,將使用該表對應數據庫的默認本地地址。全文索引將被建立在這個地址下。IndexOnly Optional這個屬性指定全文數據表為僅僅索引。這個屬性是可選屬性。如果設置為僅僅索引,在執行插入,修改和刪除語句時只修改索引,而不修改數據本身。這個設置在Rebuild 或者數據庫驅動索引時有用。ForceCollectCount(count) Optional強制回收數據的記錄數,可選屬性。當批量插入時,H并不會立即更新索引,而是要到插入數量超過ForceCollectionCount時才更新索引,這樣做是為了盡可能提高索引的效率。Fore

14、cCollectionCount的默認值為5000. 可以修改這個值為任意正整數。DBTableName(table name) Optional數據庫中對應表的表名,可選屬性。由于H全文索引是和數據庫關聯的,H負責索引,數據庫負責存儲。如果希望H中的表名和數據庫的表名不一樣,可以通過這個屬性來設置。默認情況下,數據庫表名和H的表名相同。DBAdapter(adapter name) Optional數據庫適配器名,可選屬性。如果不指定,將使用該表所在數據庫的默認數據庫適配器。在 這里指定采用哪種數據庫適配器。H 目前提供MS SQLSERVER 2005/2008 的數據庫適配器。用戶可以通

15、過實現 IDBAdapter 接口,并通過SP_AddExternalReference 系統存儲過程將自己編寫的數據庫適配器安裝到H中。DBConnect(connection string) Optional連接字符串,可選屬性。如果不指定,將使用該表所在數據庫的默認數據庫連接字符串。這個屬性指定連接數據庫適配器對應的數據庫的連接字符串。數據類型目前支持的數據類型有Int, TinyInt, SmallInt, BigInt, Float, DateTime, SmallDateTime, Date, NVarchar, Varchar, NChar, Char其中 datetime 的范

16、圍為 .net 中 datetime 數據類型的時間范圍,精度為毫秒smalldatetime 的范圍是 1980年1月1日 0:0:0 - 2047年12月31日 23:59:59, 精度為秒date 的范圍是 1年1月1日 - 5883516年1月1日,進度為日nvarchar, varchar, nchar, char 這四種字符串類型可以支持指定長度和不限長度,不限長度時寫成 (max) ,如 nvarchar(max)如果字符串類型作為非全文方式索引(Untokenized index) 則長度最大為32。 column_definition列名同 T-SQL, 如果是關鍵

17、字,用指定列名。數據類型見上一節索引類型-可選TokenizedTokenized 索引類型表示該字段為全文索引字段,如果指定這個類型,必選指定Analyzer,即分析器的名稱 UntokenizedUntokenized 索引類型表示該字段為非全文索引字段,通常為一些價格,面積,分類等元數據字段,如果需要在搜索全文是同時過濾元數據,必須將相應元數據字段設置為Untokenized 類型索引字段。None默認索引類型,僅存儲。Analyzer如果索引類型是 Tokenized, 必須通過Analyzer 關鍵字指定分析器的名稱。如 Analyzer SimpleAnalyzer, 用戶可以通過

18、實現IAnalyzer接口,并通過SP_AddExternalReference 系統存儲過程將自己編寫的分析器安裝到H中。 NULL, NOT NULLTokenized, Untokenized 類型索引字段必須為 NOT NULL, None 類型索引字段可以為NULL. Default-可選指定字段的默認值 PRIMARY KEY可以在字段定義中指定該字段為主鍵字段。注意通過H設置的主鍵字段不是聚集索引,而是非聚集唯一性索引。H 中表的聚集索引字段為DocId.FASTEST 可以聲明某個全文索引字段采用最快方式建立索引,最快方式建立索引時,倒排索引不存儲

19、單詞分量的位置信息,減小了索引的大小。需要注意的是如果選擇用FASTEST 方式建立索引,則不能用 Like 來對全文進行查詢,只能使用 Match。 DocId 字段DocId 字段是H 為每張表默認建立的字段,用戶在編寫建表語句是不需要指定這個字段。這個字段為自增長字段且是唯一性聚集性索引。這個字段用于定位指定的記錄。用戶插入數據時也不需要指定這個字段。 其他約束H 為了簡化建表語句,在建表語句中不提供其他約束的定義,如果要這只其他的約束,比如字段的范圍等,可以通過SP_ExcuteSql系統存儲過程來設置。注意:建表語句將自動在對應的關系數據庫中創建相應的數據表。示例

20、1. 簡單的新聞表 (指定本地地址和數據庫適配器等屬性)Create table News(Title nvarchar(max) Tokenized Analyzer 'SimpleAnalyzer' NOT NULL Default '',Content nvarchar(max) Tokenized Analyzer 'SimpleAnalyzer' NOT NULL Default '',Time SmallDateTime Untokenized NOT NULL Default '1990-01-01'

21、,Url    nvarchar(max);exec SP_ExcuteSql  'Create index I_Time on news(time) ' 以上建表語句建立一個News全文索引表,全文索引建立在News表所在數據庫指定的默認目錄下,數據庫適配器和連接字符串也使用所屬數據庫中指定的默認值。這個表有四個字段,其中Title, Content 為全文索引字段,Time 為非全文索引字段,Url 為僅存儲字段。表建立完成后,我們通過 SP_ExcuteSql 直接操作SQLSERVER2005 數據庫中的Test 數據庫

22、,在數據庫中建立為Time 字段建立一個非聚集索引,這個索引在僅僅對Time 進行范圍查詢時有用。2. 簡單的新聞表 (指定本地地址和數據庫適配器等屬性) Directory('d:testnews')DBAdapter('SQLSERVER2005')DBConnect('Data Source=(local);Initial Catalog=Test;Integrated Security=True')Create table News(Title nvarchar(max) Tokenized Analyzer 'Simp

23、leAnalyzer' NOT NULL Default '',Content nvarchar(max) Tokenized Analyzer 'SimpleAnalyzer' NOT NULL Default '',Time SmallDateTime Untokenized NOT NULL Default '1990-01-01',Url    nvarchar(max);exec SP_ExcuteSql  'Create index I_Time on news(

24、time) ' 以上建表語句建立一個News全文索引表,全文索引建立在d:testnews 目錄下,這個表和本地SQLSERVER2005或2008 數據庫的默認實例中的Test 庫中的News表關聯。這個表有四個字段,其中Title, Content 為全文索引字段,Time 為非全文索引字段,Url 為僅存儲字段。表建立完成后,我們通過 SP_ExcuteSql 直接操作SQLSERVER2005 數據庫中的Test 數據庫,在數據庫中建立為Time 字段建立一個非聚集索引,這個索引在僅僅對Time 進行范圍查詢時有用。 3. 指定主鍵單字段主鍵 Di

25、rectory('d:testnews')DBAdapter('SQLSERVER2005')DBConnect('Data Source=(local);Initial Catalog=Test;Integrated Security=True')Create table News(NewsId int NOT NULL PRIMARY KEY,Title nvarchar(max) Tokenized Analyzer 'SimpleAnalyzer' NOT NULL Default '',Content n

26、varchar(max) Tokenized Analyzer 'SimpleAnalyzer' NOT NULL Default '',Time SmallDateTime Untokenized NOT NULL Default '1990-01-01' ,Url    nvarchar(max);這個表中,我們指定NewsId 字段為主鍵字段多字段主鍵 Directory('d:testnews')DBAdapter('SQLSERVER2005')DBConnect(

27、'Data Source=(local);Initial Catalog=Test;Integrated Security=True')Create table News(NewsId int NOT NULL PRIMARY KEY,NewsType nvarchar(16) UnTokenized NOT NULL PRIMARY KEY,Title nvarchar(max) Tokenized Analyzer 'SimpleAnalyzer' NOT NULL Default '',Content nvarchar(max) Token

28、ized Analyzer 'SimpleAnalyzer' NOT NULL Default '',Time SmallDateTime Untokenized NOT NULL Default '1990-01-01' ,Url    nvarchar(max);這個表中,我們指定NewsId 和NewsType字段為主鍵字段刪除表EXEC SP_DROPTABLE這個存儲過程有一個唯一的參數就是表名。如果要刪除的表不存在,同樣成功返回。注意: 執行這個存儲過程將會同時刪除關系數據庫中對應的表,所以一定要小心。示

29、例Exec sp_droptable News該語句刪除當前數據庫中的News表。插入(Insert) 語句T-SFQL 的Insert 語句的語法和T-SQL 基本一致,省略了table hint limited 部分。SyntaxINSERT INTO           table_name)            (column_list)     

30、     VALUES (     DEFAULT                         |    NULL          &

31、#160;             |    expression                         ,.n     

32、0;      )                | DEFAULT VALUESArgumentsINTO Is an optional keyword that can be used between INSERT and the target table.table_nameIs the name of a table that is to receive the dat

33、a.  (column_list)Is a list of one or more columns in which to insert data. column_list must be enclosed in parentheses and delimited by commas. If a column is not in column_list, Microsoft® SQL Server must be able to provide a value based on the definition of the column; otherwise, the row

34、 cannot be loaded. SQL Server automatically provides a value for the column if the column: ·         Has an IDENTITY property. The next incremental identity value is used.·         Has a default. The default va

35、lue for the column is used.·         Has a timestamp data type. The current timestamp value is used.·         Is nullable. A null value is used.column_list and VALUES list must be used when inserting explicit v

36、alues into an identity column, and the SET IDENTITY_INSERT option must be ON for the table. VALUES Introduces the list of data values to be inserted. There must be one data value for each column in column_list (if specified) or in the table. The values list must be enclosed in parentheses. If the va

37、lues in the VALUES list are not in the same order as the columns in the table or do not have a value for each column in the table, column_list must be used to explicitly specify the column that stores each incoming value. DEFAULTForces SQL Server to load the default value defined for a column. If a

38、default does not exist for the column and the column allows NULLs, NULL is inserted. For a column defined with the timestamp data type, the next timestamp value is inserted. DEFAULT is not valid for an identity column.expressionIs a constant, a variable, or an expression. The expression cannot conta

39、in a SELECT or EXECUTE statement. DEFAULT VALUESForces the new row to contain the default values defined for each column. 示例 INSERT T1 VALUES (1, 'Row #1')  INSERT INTO T1 (column_1,column_2) VALUES (-99,'Explicit identity value') 批量插入大數據量插入時,如果每次都單條記錄插入

40、,插入的速度會很慢,這種情況下我們需要批量插入。批量插入時,只需要一次將多條 insert 語句發送給 就可以, 每條insert 語句以分號“;”結尾。當要批量插入的數據很多時,我們建議以 1000-5000條記錄為一組,分批執行批量插入操作,這樣插入的速度會大大提高。示例 INSERT T1 VALUES (1, 'Row #1') INSERT T1 VALUES (2, 'Row #2') INSERT T1 VALUES (3, 'Row #3') INSERT T1 VALUES (4, 

41、9;Row #4') INSERT T1 VALUES (5, 'Row #5') 以上SQL 語句一次批量插入5條記錄。刪除(Delete)語句Delete 語句的語法和SQL的Delete完全相同。Where 子句參加Select 語句。Syntax DELETE     FROM                   table_name

42、WITH ( <table_hint_limited> .n)         | view_name         | rowset_function_limited                  FROM <table_source> ,.n n

43、=1    WHERE          <search_condition>                          示例Delete T where c1 > 100 and c1 < 200 and

44、c2 match China256.3 BeiJing100 ShangHai查找 表T 中 C1 大于100 且小于 200 并且 C2 匹配 China ,BeiJing 和 ShangHai 三個單詞的記錄。并將這些記錄刪除。修改(Update) 語句Update 語句的語法和SQL的Update完全相同。Where 子句參加Select 語句。Syntax UPDATE                   table_

45、name WITH ( <table_hint_limited> .n)         | view_name         | rowset_function_limited                 SET     

46、;    column_name = expression | DEFAULT | NULL        | variable = expression         | variable = column = expression ,.n    FROM <table_source> ,.n n=1   

47、60;    WHERE             <search_condition>         示例Update T Set c1 = 12 where c1 > 100 and c1 < 200 and c2 match China256.3 BeiJing100 ShangHai查找 表T 中 C1 大于100 且小于 2

48、00 并且 C2 匹配 China ,BeiJing 和 ShangHai 三個單詞的記錄。并將這些記錄中c1 字段的值更改為 12。查詢(Select) 語句T-SFQL 0.1 版本的Select語句是 T-SQL的Select語句的子集,只提供單表的查詢功能。不提供 Group by , Having 語句,不提供 Sum,Avg 等統計函數,不提供Distinct, Union等語法。Where 子句中增加了全文搜索的語法元素。分頁的查詢功能在H 庫中提供,不在SQL中提供,因此取消Top功能。Order by 語句只限定為單字段排序。 SyntaxSELECT ALL

49、60;       <select_list>     FROM <table_source> ,.n     n =1    WHERE <search_condition>             ORDER BY order_by_expression | column_pos

50、ition ASC | DESC         ,.n     n=1ArgumentsTop n列出前n條記錄Between n1 To n2列出從n1 到 n2 之間的記錄(包括n2)ALL      列出被查詢表中所有的列,通常用 * 表示 ALL select_list       列出指定的列 FROM   

51、;   指定查詢的源。table_source       表名,0.1 版本只提供單表查詢,這里只能寫一個表名。 WHERE Where 子句和T-SQL的查詢字句一致,0.1 版本不提供Where子句中使用函數等內容,只提供最簡化的布爾表達式。為適應全文搜索的需要, T-SFQL 語句在T-SQL標準基礎上做了增加,下面重點描述增加的部分:· 指定字段權重T-SFQL 語句只允許對全文索引字段指定權重,對其它字段指定權值無效。語法:FieldNameBoost 為分隔符,表示設置權

52、重開始Boost為權重,無符號整型,范圍為 0-65535  例:Select * from T where c15 match BeiJing·  指定記錄權重H 支持對指定記錄設置權重。設置的方法是在建表時在表中創建一個Int 類型名為Rank 的字段,通過改變這個字段的值,可以指定相應記錄的權重。例:Create table News(NewsId int NOT NULL PRIMARY KEY,Title nvarchar(max) Tokenized Analyzer 'SimpleAnalyzer' NOT NULL Def

53、ault '',Content nvarchar(max) Tokenized Analyzer 'SimpleAnalyzer' NOT NULL Default '',Time SmallDateTime Untokenized NOT NULL Default '1990-01-01' ,Url    nvarchar(max),Rank Int Untokenized NOT NULL,);· 位置無關模糊匹配位置無關模糊匹配指被匹配的關鍵字無論其位置關系如何,得到的記錄得分都相同。

54、比如 匹配 China BeiJing 和 BeiJing China 得到的結果是相同的。 語法:FieldName Match Query wordsBoost Query words:要查詢的單詞,可以為多個單詞,單詞之間以空格分隔。 : 分隔符,表示設置權重開始。Boost:權重,無符號整型,范圍為 0-65535。可選項,不指定權重則默認權重為1。  例:Select * from T where  C2 Match China256 BeiJing100 ShangHai  · 位置相關模糊匹

55、配位置無關模糊匹配指被匹配的關鍵字隨其位置關系不同會得到不同的記錄得分。比如 匹配 China BeiJing 和 BeiJing China 得到的結果是不同。前者會將全文中存在China BeiJing 這個順序的文章得分提高,而將BeiJing China 這個順序的文章得分降低。  T-SFQL 借用了SQL 中的Like 關鍵字來表示位置相關的模糊匹配。 語法:FieldName Like Query wordsBoostPosition Query words:要查詢的單詞,可以為多個單詞,單詞之間以空格分隔。 : 分隔符,表示設置權重或者位

56、置開始。Boost:權重,無符號整型,范圍為 0-65535。可選項,不指定權重則默認權重為1。Position: 單詞的起始位置,無符號整型,可選項,必須在權重之后出現。如果不指定,則默認為單詞出現在查詢字符串中的位置。例:Select * from T where  C2 Like China2560 BeiJing1006 ShangHai113 Select * from T where  C2 Like 中國2560 中國人1000 Select * from T where  C2 Like BeiJing China &

57、#160;注意:1.如果元數據字段的邏輯查詢需要和全文搜索同時進行,必須要將該元數據字段設置為 Untokenized。2. Where 語句中如果同時存在and 和 or ,必須用挎號進行分割。比如:Where c1 > 100 and c1 < 200 or c2 match China256 BeiJing100 ShangHai這句H 將無法解析,必須寫成Where (c1 > 100 and c1 < 200) or c2 match China256 BeiJing100 ShangHai才可以。示例Select * from T where c1 >

58、 100 and c1 < 200 and c2 match China256 BeiJing100 ShangHai查找 表T 中 C1 大于100 且小于 200 并且 C2 匹配 China ,BeiJing 和 ShangHai 三個單詞的記錄。 系統存儲過程H 提供一系列系統存儲過程,用于對H 進行管理。在執行系統存儲過程時,存儲過程名前必須加 Exec 關鍵字。SP_AddDatabase說明添加數據庫參數第一個參數是 數據庫名,這個數據庫名指在H 中創建的數據庫名。第二個參數是數據庫的默認路徑,建表時如果不指定表的路徑,則默認將表文件建立在表所在數據庫的默認路徑下

59、。第三個參數是默認數據庫適配器名稱,建表時如果不指定數據庫適配器,則使用表所在數據庫的默認數據庫適配器。H 自帶一個數據庫適配器SQLSERVER2005,SQLSERVER 2005 數據庫適配器可以支持SQLSERVER 2005 及以后版本。第四個參數是默認連接字符串,這個字符串用于將H 和數據庫相關聯。建表時,如果不指定數據庫連接字符串,則使用表所在數據庫的默認數據庫連接字符串。創建數據庫操作只創建H 和關系數據庫的關聯關系,不會在關系數據庫中創建數據庫。這種關聯關系由第三和第四個參數指定。示例:exec sp_adddatabase 'News', 'd:te

60、stnews', 'SQLSERVER2005', 'Data Source=(local);Initial Catalog=News;Integrated Security=True'SP_AddExternalReference說明添加外部引用,這個存儲過程用于向系統添加用戶自定義的數據庫適配器,分詞器和Score 算法。參數第一個參數是外部引用類型。Hubble.Net 目前支持一下三種外部引用類型:· Query該類型指明引用是一個Score 算法。· Analyzer該類型指明引用是一個分詞器。· Dbadapte

61、r該類型指明引用是一個數據庫適配器。第二個參數是引用文件名的完整路徑。注意:該存儲過程執行后不會立即生效,需要重啟H 服務才能生效示例:EXEC SP_AddExternalReference 'dbadapter', 'd:testmysql.dll'上述語句將 mysql.dll 這個動態庫中所有的數據庫適配器加入到H 中。Mysql.dll 中必須至少存在一個IDBAdapter 接口的實現。SP_AnalyzerList說明列出系統中所有的分詞器參數SP_Columns說明列出指定表的所有列信息參數第一個參數是表明。示例:EXEC SP_Columns 'News'SP_Configure說明系統配置參數 如果不輸入參數,則列出當前系統配置。第一個參數是配置項。目前有如下幾個項目:· Memorylimited這個項目指定系統的最大內存限制。當H 占用內存大于這個上限時,H 會自動執行內存優化,將一些不經常使用的緩存數據清除掉以釋放足夠的內存。· Querycachememorylimited查詢緩存的最大內存現在。當查詢緩存大于這個限制時,H 會自動執行內存優化,將一些不經常使用的緩存數據清

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論