HubbleDotNet 是一个开源项目,开源项目的特点就是反应迅速,功能推出会很快,版本会经常需要升级。本文将介绍如何进行版本升级。
在开始本文之前,先来看看 HubbleDotNet 包含的组件都有哪些。
组件简介
HubbleService.exe
这个程序是hubble.net 的windows 服务进程,这个经常只负责在服务启动时启动 hubbletask ,并在服务关闭时关闭 hubbletask。
HubbleTask.exe
Hubble.Core.dll
这个是Hubble.net 的核心算法库,所有的搜索和索引算法都由这个库提供
Hubble.Framework.dll
这是 hubble.net 的平台库,提供一些公用的类和方法。
Hubble.Analyzer.dll
Hubble.SQLClient.dll
这个库是 hubble.net 的SQL 访问客户端,其作用和System.Data.Sqlclient 类似。这个库可以由应用软件调用。
QueryAnalyzer.exe
这个程序是Hubble.net 提供的查询分析器,它主要负责提供图形化的管理和查询功能。
升级步骤
第一步:编译代码
注意:为了保证执行效率,建议直接编译 release 版本,如果编译debug 版本,将会出现如下错误:
错误 3 不安全代码只会在使用 /unsafe 编译的情况下出现
这是我故意这样搞的,Debug 版本我没有将项目的 unsafe 选项选中。如果你一定要编译Debug 版本,请在项目属性中将unsafe 选项选中。
第二步:停止服务
第三步:覆盖组件
用除 HubbleService.exe 外的所有编译好的组件覆盖位于 Program Files/Hubble.net/Default 这个目录下的原组件。
第四步:启动服务
第五步:检查
进入 QueryAnalyzer,在菜单中选 About,将显示目前客户端组件,服务器的版本号。
------------------------------------------------------
解压Hubble.net压缩包,并双击安装setup.exe文件。
打开服务器电脑D盘并建立文件夹Test\News这个文件夹用来保存全文搜索文件
打开开始à程序àHubble.netà QueryAnalyzer程序
--News,表示建立的Hubble.net的数据库,d:\test\news\保存全文索引的文件路径,SqlServer2005服务器sql的版本,最后一个参数表示链接字符串。
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',
--使用盘古分词对字段title,content进行全文搜索,并同时建立字段time和链接地址url
打开SQL Server Management Studio就可以看见建立的news数据库如图所示
导入需要全文搜索的数据(或者在程序中插入新闻时向hubble.net插入记录)
<connectionStrings> <add name="News" connectionString="Data Source=192.168.0.109; uid=ljj;pwd=123456;Initial Catalog=News;" providerName="Hubble.SQLClient"/> </connectionStrings> |
(2)、在Web项目中的bin中放入相应的动态的链接库文件
(3)、引入FullTextSearch项目,具体代码可根据用户表结构自行修改
(4)、在bin引入FullTextSearch项目
(5)、建立搜索页Search.aspx具体代码请查看测试项目
4、项目预览
5、常见问题解答
1、Q:提示与关系数据库没连接上,我又重启服务,又提拒绝连接?
A:可能是你本机的SQLSERVER 启动比较慢造成。
新版本中我把连接数据库超时时间改为了120秒(默认是15秒),启动时尝试连接5次。这样应该会稳定很多。
2、Q:我现在已经有个hubblenet数据库,若局域网内任何人只要装上hubblenet软件都可以连接这个数据库,并进行操作,这样会出现误操作?
A:在防火墙上设置只有你本机或者你指定的机器可以访问 7523端口就可以了。
3、Q:我现在有表news,和product,表结构差不多,现在t-sfql不支持多个表联合查询,不知道这个问题该怎么解决?
A:如果两个表的表结构相同 0.8 版本将提供多实例方案可以进行整合。真正的多表关联要到更后的版本实现。
4、Q:这个项目是开源的吗?开源的网址是什么?
A:是开源的,http://hubbledotnet.codeplex.com
5、Q:这个软件查询用的不是T-Sql语句,而是T-Sfql,这个与传统的T-sql有什么不同?
A:T-SFQL (Transact-Structured Full-text Query Language) 是在T-SQL 标准基础上衍生出来的结构化全文查询语言。2009年由Hubble.net 提出,语言全文数据库的查询和管理。
T-SFQL 0.1 版本为T-SFQL 语言推出的第一个版本。该版本只提供基本的“增删改查”功能。其他功能将逐渐在后续版本中提供。详细请查看
http://www.cnblogs.com/eaglet/archive/2009/04/27/1444778.html
6、Q:这个软件是收费的吗?为什么提示让我输入我的邮箱和序列号?
A:注册的目的不是为了收费,而是为了统计一下使用的人数。
您可以到下面链接注册
http://www.hubbledotnet.com/key.aspx
填写完所有信息后,点击Submit 按钮,您的installation key 将被发送到您输入的email 地址。如果你没有收到,请检查一下是不是在垃圾邮件里面。如果垃圾邮件中也没有,可以再注册一次,网站会重新发送一遍给你。
如果您访问这个页面有困难,您可以发送如下信息到 Hubble.net@gmail.com 我们将帮您注册。
您用于注册的 Email 地址
您所在国家
您的姓名,可以用网名。
我们推荐您使用第一种方法注册,除非您访问那个网站确实有困难。
7、Q:如何查看我我的hubble版本,如何在hubble查看分词结果?
A:exec sp_testanalyzer 'PanguSegment', '李晶晶'
exec SP_Version
更具体的帮助请查看http://www.cnblogs.com/eaglet/tag/Hubble/博客,这儿只是列出我在实施过程中的过程,和遇到的问题解答