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

摘要:
组件简介HubbleService.exe是hubble.net的Windows服务进程。hubble.Analyzer.dll库定义了分词器的接口,应用程序软件可以调用该接口。QueryAnalyzer.exe是Hubble.net提供的查询分析器。建议直接编译发布版本。如果编译调试版本。

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 技术详解

免责声明:文章转载自《HubbleDotNet开源全文搜索数据库项目如何升级》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Qt5模块化详细总结XCode修改工程名(完美版)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux搭建lamp(Apache+PHP+Mysql环境)centos7.2版详细教程

一、 检查系统环境 1、确认centos版本 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 2、检查是否安装过apache rpm -qa | grep httpd 或者: apachectl -v 或者: httpd -v...

git暂存区

  在使用git开发时,有三个概念需要知道,工作区,暂存区和版本库。工作区就是直接进行操作的地方,版本库是要将修改提交的地方,那么暂存区是干什么的呢?下面将对暂存区深入研究。   一.修改后能直接提交吗?   在工作区修改后能直接执行git commit提交吗?让我们一起试试。   首先修改welcome.txt文件   echo "welcome">...

node.js版本管理

Node安装Node的安装需要依赖很多,如gcc等,首先我们需要将这些安装成功,用rpm命令查看下,果然我们并没有gcc等,所以要用yum进行安装(基于centos6.9版本): yum -y install gcc gcc-c++ kernel-devel 将依赖安装后,我们就可以进行Node的安装啦(我是直接安在了root目录下):来到安在目录 wge...

UVM_COOKBOOK学习【DUT-Testbench Connections】

关注微信公众号摸鱼范式,后台回复COOKBOOK获取COOKBOOK原本和译本 PDF度盘链接 将testbench连接到DUT 概述 本节,我们主要讨论将UVM testbench连接到RTL DUT的问题。 UVM testbench对象不能直接连接到DUT信号来驱动或采样。driver和monitor组件对象与DUT之间的连接是通过一个或多个具有静态...

FMXUI

FMXUI GITHUB: https://github.com/yangyxd/FMXUI FMXUI (YangYxd) 【简介】 FMXUI的开发忠旨是发掘FMX界面设计的优点,再整合进入Android界面设计的优点。使用过Java搞Android界面设计朋友看到后应该会有一定的熟悉感。 【类介绍】 TView 基本视图 TViewGroup 视...

Kubernetes之应用升级回滚弹性伸缩

  通过命令可以替换镜像升级 kubectl set image   以上一篇的web.yaml为例    把镜像替换成nginx kubectl set image deployment web java=nginx   三个副本滚动升级,新容器处于运行状态会删除旧容器      再次访问无法访问了    因为之前java的后端端口是80...