Hubble.net Demo 中文配置说明
Hubble.net Team
2009-11-30
· 第1步 安装 Hubble.net
· 第2步 登录 Hubble.net
运行QueryAnalyzer
在 Server Name 中输入Hubble.net 服务所在Server 的IP 地址。
点 Login 进入下一步
· 第3步创建News数据库
在上面界面点 File->Open
选择 CreateDatabase.sql 这个文件创建News 数据库
创建数据库的语句如下
exec sp_adddatabase 'News', 'd:\test\news\', 'SQLSERVER2005', 'Data Source=(local);Initial Catalog=News;Integrated Security=True';
第一个参数是 数据库名,这个数据库名指在Hubble.net 中创建的数据库名。这里命名为 News。
第二个参数是数据库的默认路径,建表时,如果不指定表的路径,则默认将表文件建立在表所在数据库的默认路径下。这里 是 d:\test\news\ ,您可以根据您的机器的配置设置你的默认路径。
第三个参数是默认数据库适配器名称,建表时,如果不指定数据库适配器,则使用表所在数据库的默认数据库适配器。这里指定为 SQLSERVER2005,SQLSERVER 2005 数据库适配器可以支持SQLSERVER 2005 及以后版本。
第四个参数是默认连接字符串,这个字符串用于将Hubble.net 和数据库相关联。建表时,如果不指定数据库连接字符串,则使用表所在数据库的默认数据库连接字符串。
注意:在创建数据库之前,必须在您的SQLSERVER数据库中创建一个News 数据库,当然您也可以使用其他数据库名,您只需要修改连接字符串即可。
点击 Excute 执行上述语句创建数据库。
选中左边服务器节点,点右键选 Refresh,这时你可以看到服务器节点下多了一个News数据库。
· 第4步创建News数据表
如上图所示, File->Open 打开 CreateTable.sql ,在左上角的当前数据库下拉框中选择News数据库 , 点击 Excute 执行建表语句。
建表语句如下。第一句删除news 数据表,如果news数据表不存在,则这句不进行任何操作。第二句建表。建表语句和标准SQL的建表语句类似,分词器指定 PanGuSegment,盘古分词在安装Hubble.net 时默认已经安装,所以不需要再进行安装,如果您希望使用其他分词器,可以安装相应的分词器,并在建表语句中指定对应的分词器的名称。如何安装分词器,见Hubble.net 的使用手册。
exec sp_droptable 'news';
Create table News
(
Title nvarchar(max) Tokenized Analyzer 'PanGuSegment' NOT NULL Default '',
Content nvarchar(max) Tokenized Analyzer 'PanGuSegment' NOT NULL Default '',
Time Date Untokenized NOT NULL Default '1990-01-01',
Url nvarchar(max) NULL
);
· 第5步导入新闻测试数据
File->Batch Import 选 ChineseNews.sql。选中后查询分析器会读取这个批量插入文件,并出现下面界面
ChineseNews.sql 的下载位置是:
http://hubbledotnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=36585
点击 Import,批量插入新闻测试数据。
插入完成后 执行
exec SP_OptimizeTable 'News'
优化一下索引,在大批量插入数据后建议手工优化一下索引
执行下面SQL语句测试一下
select top 10 * from news where content match '北京' order by score desc
· Web 配置说明
<connectionStrings>
<add
name="News"
connectionString="Data Source=127.0.0.1;Initial Catalog=News;"
providerName="Hubble.SQLClient"
/>
</connectionStrings>
connectionString 这一节中你可以设置用于Hubble.net 的查询字符串。
App_Code/Index.cs 中
Index.CacheTimeout 用于配置SQLClient 的缓存超时,默认为0,单位为秒。
可以配置为如下值:
-1 : 表示没有缓存
0 : 表示有缓存,但超时为0。这种情况下每次查询,SQLClient 会询问一下Hubble.net 服务当前查询语句涉及到的数据有没有改变,如果没有改变则从缓存读取,否则从服务器读取。
N : 缓存N秒,超时前不询问Hubble.net服务查询语句涉及到的数据是否变化,超时后询问。