eaglet

本博专注于基于微软技术的搜索相关技术
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

HubbleDotNet开源全文搜索数据库项目--如何升级

Posted on 2010-05-05 13:29  eaglet  阅读(6884)  评论(4编辑  收藏  举报

HubbleDotNet 是一个开源项目,开源项目的特点就是反应迅速,功能推出会很快,版本会经常需要升级。本文将介绍如何进行版本升级。

在开始本文之前,先来看看 HubbleDotNet 包含的组件都有哪些。

组件简介

HubbleService.exe

这个程序是hubble.net 的windows 服务进程,这个经常只负责在服务启动时启动 hubbletask ,并在服务关闭时关闭 hubbletask。

HubbleTask.exe

这个程序是 hubble.net 的宿主进程,不运行 hubbleService ,直接运行这个程序,也可以运行hubble.net。这个程序启动后将侦听 TCP 端口,接受从 sqlclient 发来的查询请求,执行并返回结果给 sqlclient。

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 提供的查询分析器,它主要负责提供图形化的管理和查询功能。

 

升级步骤

第一步:编译代码

代码位置http://hubbledotnet.codeplex.com/ 这个主页的 Source Code Tab 中。下载最新的代码,打开 Hubble.Net.sln 这个解决方案,编译。

编译环境为 VS 2008

编译后将生成上述组件。

注意:为了保证执行效率,建议直接编译 release 版本,如果编译debug 版本,将会出现如下错误:

错误 3 不安全代码只会在使用 /unsafe 编译的情况下出现

这是我故意这样搞的,Debug 版本我没有将项目的 unsafe 选项选中。如果你一定要编译Debug 版本,请在项目属性中将unsafe 选项选中。

 

第二步:停止服务

在服务管理中停止 Hubble.net 服务。

 

第三步:覆盖组件

用除 HubbleService.exe  外的所有编译好的组件覆盖位于 Program Files/Hubble.net/Default 这个目录下的原组件。

如果应用程序,比如 Asp.net 的 Web site 调用了 Hubble.SqlClient.dll ,需要同时更新相应目录下的 Hubble.SqlClient.dll ,Hubble.Analyzer.dll,Hubble.Framework.dll

 

第四步:启动服务

在服务管理中启动 Hubble.net 服务。

 

第五步:检查

进入 QueryAnalyzer,在菜单中选 About,将显示目前客户端组件,服务器的版本号。

 

image

 

返回 Hubble.net 技术详解