HubbleDotNet全文搜索数据库组件(二)
[摘要]本文介绍如何使用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全文搜索数据库组件(二)的更多相关文章
- HubbleDotNet全文搜索数据库组件(一)
HubbleDotNet 简介及安装详解 2012-11-05 12:59 来源:9SSSD.COM 作者:starts_2000 字号:T|T [摘要]HubbleDotNet 是一个基于.net ...
- HubbleDotNet开源全文搜索数据库项目--技术详解
HubbleDotNet 简介 HubbleDotNet 和 Lucene.net 性能对比测试 HubbleDotNet 和 Lucene.Net 匹配相关度的比较 HubbleDotNet 软件架 ...
- HubbleDotNet 开源全文搜索数据库项目--为数据库现有表或视图建立全文索引(三) 多表关联全文索引模式
关系型数据库中,多表关联是很常见的事情,HubbleDotNet 可以对部分情况的多表关联形式建立关联的全文索引,这样用户就不需要专门建一个大表 来解决多表关联时的全文索引问题. 下面以 为数据库现有 ...
- HubbleDotNet开源全文搜索组件相关资源
系统简介 HubbleDotNet 是一个基于.net framework 的开源免费的全文搜索数据库组件.开源协议是 Apache 2.0.HubbleDotNet提供了基于SQL的全文检索接口,使 ...
- Flask学习之十 全文搜索
英文博客地址:blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-x-full-text-search 中文翻译地址:http://ww ...
- Postgresql数据库安装中文全文搜索插件zhparser的问题
在PG数据库的基础上加装zhparser中文全文搜索插件,说实话,挺怕这些单独编译安装的插件的,因为安装PG数据库方法的不同,最后可能导致安装的插件各种安装不上,这里说一下我遇到的坑,系统环境是Cen ...
- Docker安装带中文全文搜索插件zhparser的Postgresql数据库
上一篇讲了在已经安装了PG数据库的情况下,安装全文搜索插件zhparser遇到的问题.在一个全新的环境中安装带有全文搜索插件zhparser的PG数据库,可以使用已经做好的Docker镜像,在安装的过 ...
- lucene全文搜索之二:创建索引器(创建IKAnalyzer分词器和索引目录管理)基于lucene5.5.3
前言: lucene全文搜索之一中讲解了lucene开发搜索服务的基本结构,本章将会讲解如何创建索引器.管理索引目录和中文分词器的使用. 包括标准分词器,IKAnalyzer分词器以及两种索引目录的创 ...
- SQL Server 全文搜索
SQL Server 的全文搜索(Full-Text Search)是基于分词的文本检索功能,依赖于全文索引.全文索引不同于传统的平衡树(B-Tree)索引和列存储索引,它是由数据表构成的,称作倒转索 ...
随机推荐
- UVa 10012 - How Big Is It? 堆球问题 全排列+坐标模拟 数据
题意:给出几个圆的半径,贴着底下排放在一个长方形里面,求出如何摆放能使长方形底下长度最短. 由于球的个数不会超过8, 所以用全排列一个一个计算底下的长度,然后记录最短就行了. 全排列用next_per ...
- Hadoop0.20.2 Bloom filter应用演示样例
1. 简单介绍 參见<Hadoop in Action>P102 以及 <Hadoop实战(第2版)>(陆嘉恒)P69 2. 案例 网上大部分的说明不过依照<Hadoop ...
- 三款经常使用IP发包工具介绍
AntPower 版权全部© 2003 技术文章http://www.antpower.org 第1 页共14 页AntPower-技术文章三款经常使用IP 发包工具介绍小蚁雄心成员郎国军著lgj@q ...
- JavaScript的隐式转换
原文:JavaScript的隐式转换 JavaScript的数据类型分为六种,分别为null,undefined,boolean,string,number,object.object是引用类型,其它 ...
- 单机部署redis主从备份
redis为了避免单点故障,也支持主从备份.个人在做主从备份的实验时,因为机器数量有限,一般非常少有多台机器做支撑. 本文就将叙述怎样在一台电脑上实现redis的主从备份. 同一台机器上部署多个red ...
- SQLServer-----SQLServer 2008 R2卸载
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVrZXdhbmd6aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 在域信任环境中使用 Team Foundation Server (TFS 2013)
原文:在域信任环境中使用 Team Foundation Server (TFS 2013) 1. 用户情景和方案: XX公司的大部分软件产品通过软件外包的方式由开发商完成.为加强对软件开发的进度和质 ...
- SettingsProvider 它SettingsCache
转载请注明出处:http://blog.csdn.net/droyon/article/details/35558437 SettingsCache,如指出,SettingsProvider缓冲.这将 ...
- 第12章 代理模式(Proxy Pattern)
原文 第12章 代理模式(Proxy Pattern) 代理模式 概述: 在软件系统中,有些对象有时候由于跨越网络或者其他的障碍,而不能够或者不想直接访问另一个对象,如果直接访问会给系统带来不必要 ...
- React.js再探(二)
上文中说到了组件了. 我们使用组件的目的最大莫过于复用,提供生产效率. 那么,这时候组件就应该能够提供一些”api”出来,让开发者去定义在不同场景下的不同表现,比如,行为或外观等. 而这些“api”就 ...