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)索引和列存储索引,它是由数据表构成的,称作倒转索 ...
随机推荐
- oracle的分页查询碰到的一个小问题
订单表.与订单信息表(多个订单信息列有同一个订单id) 查出全部订单以及其信息并依照订单分页 select * from( select a. * , (DENSE_RANK() OVER(ORDER ...
- Balanced Binary Tree(Java代码没有结束,是什么原因???)
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...
- NSIS:检查某注册表键是否存在
原文NSIS:检查某注册表键是否存在 ;定义注册表主键!define HKEY_CLASSES_ROOT 0x80000000!define HKEY_CURRENT_USER ...
- android 推断应用程序是系统程序还是用户程序
直接上代码: AppInfo.java <span style="font-size:18px;">package com.example.packages; publ ...
- IOS ARC和非ARC文件混用
ARC在SDK4.0的时候增加的,因为要和曾经的项目融合,就会有arc和非arc文件的混合. 当然,也就这两种情况: 1.自己的旧项目没有使用ARC,可是引入的第三方库却是使用了ARC的. 2.自己的 ...
- GitHub版本控制
版本控制-GitHub 前面几篇文章,我们介绍了Git的基本用法及Git服务器的搭建,本篇文章来学习一下如何使用GitHub.GitHub是开源的代码库以及版本控制库,是目前使用网络上使用最为广泛的服 ...
- Oracle中使用Entity Framework 6.x Code-First
Oracle中使用Entity Framework 6.x Code-First方式开发 去年写过一篇EF的简单学习笔记,当时EF还不支持Oracle的Code-First开发模式,今天无意又看了下O ...
- HTTPS背后的加密算法(转)
当你在浏览器的地址栏上输入https开头的网址后,浏览器和服务器之间会在接下来的几百毫秒内进行大量的通信.InfoQ的这篇文章对此有非常详细的描述.这些复杂的步骤的第一步,就是浏览器与服务器之间协商一 ...
- oracle rac常用的命令
oracle rac常用的命令 节点层:olsnodes 网络层: oifcfg 集群层:crsctl,ocrcheck,ocrdump,ocrconfig 应用层:srvctl,onsctl,crs ...
- Claris and XOR
Problem Description Claris loves bitwise operations very much, especially XOR, because it has many b ...