首页  :: 联系 :: 订阅 订阅  :: 管理

使用hubble.net实施全文搜索笔记

Posted on 2010-01-08 11:07  李海  阅读(1635)  评论(1编辑  收藏  举报

1、准备工作下载相应文件

Hubble.net安装程序

相应源码 这个源码里有eaglet做的demo

相应帮助的视频文件第一集)(第二集)(第三集)(第四集

2、部署运行环境

1)、安装Hubble.net程序

解压Hubble.net压缩包,并双击安装setup.exe文件。

安装成功后在window服务列表里就存在以下服务

clip_image002

在任务管理器存在以下两个进程

clip_image004

clip_image006

2)、建立Hubble.net数据库和表

打开服务器电脑D盘并建立文件夹Test\News这个文件夹用来保存全文搜索文件

打开开始à程序àHubble.netà QueryAnalyzer程序

如图所示

clip_image008

运行建立数据库的T-SFQL脚本

exec sp_adddatabase 'News', 'd:\test\news\', 'SQLSERVER2005', 'Data Source=(local);Initial Catalog=News;Integrated Security=True';

--News,表示建立的Hubble.net的数据库,d:\test\news\保存全文索引的文件路径,SqlServer2005服务器sql的版本,最后一个参数表示链接字符串。

建立需要全文搜索的表

exec sp_droptable 'news';

--若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

);

--使用盘古分词对字段title,content进行全文搜索,并同时建立字段time和链接地址url

打开SQL Server Management Studio就可以看见建立的news数据库如图所示

导入需要全文搜索的数据(或者在程序中插入新闻时向hubble.net插入记录)

3、在项目中应用

(1)、配置webconfig文件

<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中放入相应的动态的链接库文件

clip_image010

(3)、引入FullTextSearch项目,具体代码可根据用户表结构自行修改

clip_image012

(4)、在bin引入FullTextSearch项目

(5)、建立搜索页Search.aspx具体代码请查看测试项目

4、项目预览

clip_image013

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', '李晶晶'

clip_image015

exec SP_Version

clip_image017

更具体的帮助请查看http://www.cnblogs.com/eaglet/tag/Hubble/博客,这儿只是列出我在实施过程中的过程,和遇到的问题解答