[摘要]本文介绍如何使用HubbleDotNet实现基本的全文搜索,包括建立搜索数据库、数据表、建立索引,压缩索引和搜索示例等内容。

上文介绍了HubbleDotNet的安装,接下来介绍如何使用HubbleDotNet实现基本的全文搜索。我们使用HubbleDotNet进行搜索,一般都是已经建立数据库了,所以本文也以在已有数据库的情况下使用HubbleDotNet建立全文搜索进行介绍。

一、 准备数据

1、创建一个News数据库,我使用的MSSQL 2005:

2、创建News表:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
USE [News]
GO
  
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[News](
    [Id] [int] NOT NULL,
    [Title] [nvarchar](max) NULL DEFAULT (''),
    [Content] [nvarchar](max) NULL DEFAULT (''),
    [Time] [datetime] NULL DEFAULT ('1900-1-1'),
    [Url] [varchar](max) NULL
) ON [PRIMARY]
  
GO
SET ANSI_PADDING OFF

如下图:

3、在News表中添加一些数据,供后面测试搜索使用,我使用的是HubbleDotNet提供的中文新闻数据,可以在http://hubbledotnet.codeplex.com/releases/view/36585找到,如下图:

二、建立搜索数据库

首先,进入HubbleDotNet的QueryAnalyzer,在【127.0.0.1】节点点击鼠标右键,在弹出的菜单选择CreateDataBase,如下图:

打开CreateDataBase窗口,并填写数据库的相关信息,如下:

点击Create按钮,News 数据库就创建好了,如下图:

三、创建News表

在建立的News数据库上单击鼠标右键,在弹出的菜单上选择Create Table项,如下图:

打开Create Table窗口,并填写建表的相关信息,如下图:

点击Next按钮,并填写相关信息,如下图:

点击Next按钮,并填写相关信息,如下图:

点击Next按钮,如下图:

点击Finish按钮,会询问是否现在就为News表创建索引,如下图:

选择“是”,就会显示创建索引的窗口:

点击Start按钮,就开始创建News表的索引,创建成功后关闭该窗口,可以看到News表创建成功了:

四、压缩索引

在News表上点击鼠标右键,选择Optimize菜单项,会弹出一个对话框,询问是否压缩News表,点击“是”,就会进入压缩索引的窗口,显示压缩的进度,如下图:

压缩完成后,关闭该窗口就行。

五、搜索示例

在查询窗口里输入如下查询语句:

1
select top 10 * from News where Content match '北京' order by score desc

结果如下:

更多的查询语法可以参考HubbleDotNet的帮助文档:http://hubbledotnet.codeplex.com/documentation

到这里,HubbleDotNet的基本使用就介绍完了,希望对想了解和使用HubbleDotNet的朋友有所帮助。

HubbleDotNet全文搜索数据库组件(二)的更多相关文章

  1. HubbleDotNet全文搜索数据库组件(一)

    HubbleDotNet 简介及安装详解 2012-11-05 12:59 来源:9SSSD.COM 作者:starts_2000 字号:T|T [摘要]HubbleDotNet 是一个基于.net ...

  2. HubbleDotNet开源全文搜索数据库项目--技术详解

    HubbleDotNet 简介 HubbleDotNet 和 Lucene.net 性能对比测试 HubbleDotNet 和 Lucene.Net 匹配相关度的比较 HubbleDotNet 软件架 ...

  3. HubbleDotNet 开源全文搜索数据库项目--为数据库现有表或视图建立全文索引(三) 多表关联全文索引模式

    关系型数据库中,多表关联是很常见的事情,HubbleDotNet 可以对部分情况的多表关联形式建立关联的全文索引,这样用户就不需要专门建一个大表 来解决多表关联时的全文索引问题. 下面以 为数据库现有 ...

  4. HubbleDotNet开源全文搜索组件相关资源

    系统简介 HubbleDotNet 是一个基于.net framework 的开源免费的全文搜索数据库组件.开源协议是 Apache 2.0.HubbleDotNet提供了基于SQL的全文检索接口,使 ...

  5. Flask学习之十 全文搜索

    英文博客地址:blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-x-full-text-search 中文翻译地址:http://ww ...

  6. Postgresql数据库安装中文全文搜索插件zhparser的问题

    在PG数据库的基础上加装zhparser中文全文搜索插件,说实话,挺怕这些单独编译安装的插件的,因为安装PG数据库方法的不同,最后可能导致安装的插件各种安装不上,这里说一下我遇到的坑,系统环境是Cen ...

  7. Docker安装带中文全文搜索插件zhparser的Postgresql数据库

    上一篇讲了在已经安装了PG数据库的情况下,安装全文搜索插件zhparser遇到的问题.在一个全新的环境中安装带有全文搜索插件zhparser的PG数据库,可以使用已经做好的Docker镜像,在安装的过 ...

  8. lucene全文搜索之二:创建索引器(创建IKAnalyzer分词器和索引目录管理)基于lucene5.5.3

    前言: lucene全文搜索之一中讲解了lucene开发搜索服务的基本结构,本章将会讲解如何创建索引器.管理索引目录和中文分词器的使用. 包括标准分词器,IKAnalyzer分词器以及两种索引目录的创 ...

  9. SQL Server 全文搜索

    SQL Server 的全文搜索(Full-Text Search)是基于分词的文本检索功能,依赖于全文索引.全文索引不同于传统的平衡树(B-Tree)索引和列存储索引,它是由数据表构成的,称作倒转索 ...

随机推荐

  1. 一个IT学生的personal statement

    前一段时间的英语老师要求我们写一个自己的personal statement,我相信,作为一个IT学生,人很多personal statement应该都了如指掌.进一步的研究是必要的出国留学,当然,也 ...

  2. 【剑指offer】数字数组中只出现一次(2)

    转载请注明出处:http://blog.csdn.net/mmc_maodun/article/details/27800577 题目:一个int数组中有三个数字a.b.c仅仅出现一次,其它数字都出现 ...

  3. 设计模式Template Method模式(Template Method)摘录

    23种子GOF设计模式一般分为三类:创建模式.结构模型.行为模式. 创建模式抽象的实例.怎样创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化托付给还 ...

  4. Scala课程01

    Scala课程01 简介 由于本人刚毕业,也是从事软件开发相关的工作.想再学习一下关于大数据.移动互联网.云计算相关的技术.为我的未来打好基础.并且从零开始学习大数据相关的知识,脚踏实地的走好每一步, ...

  5. 模拟linux下的ls -l命令

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h&g ...

  6. MD5算法的原理与实现

    ***********************************************声明************************************************ 原创 ...

  7. 毕业后的第二份工作:进入国外 在新加坡工作 每月一次18K

    --訪传智播客成都校区12.26就业班学员 杨洋 姓名:杨洋 毕业院校:重庆科技学院 专业:电子信息技术与project 就职公司:新电科技 岗位:Javaproject师 月薪:18K 上午.他刚去 ...

  8. 查询出各个学科的前3名的同学信息的Sql

    查找各个学科的成绩前3名的学生信息Sql,有2种方法,一种是利用sql的row_number() over()函数,另一种是用子查询, 表设计如下 如果不考虑各个学科的成绩有并列的情况的话,有如下两种 ...

  9. 深度-first遍历图--邻接表实现

    在这里,邻接表的实现与深度优先遍历图,使用递归. #include<iostream> using namespace std; #define VERTEXNUM 5//结点数 stru ...

  10. 在vc正在使用xtremetoolkit接口库-----使用简单的控制

    首先,我们需要在StdAfx.h增加头文件: #include "XTToolkitPro.h" #include "XTPResource.h" 在test. ...