zoukankan      html  css  js  c++  java
  • HubbleDotNet全文搜索数据库组件(二)

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

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

    一、 准备数据

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

    HubbleDotNet 实现全文检索

    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

    如下图:

    News 表

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

    HubbleDotNet提供的中文新闻数据

    二、建立搜索数据库

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

    建立搜索数据库

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

    建立搜索数据库

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

    建立搜索数据库

    三、创建News表

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

    创建News表

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

    创建News表

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

    创建News表

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

    创建News表

    点击Next按钮,如下图:

    创建News表

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

    是否创建索引

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

    创建索引

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

    创建News表成功

    四、压缩索引

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

    压缩索引

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

    五、搜索示例

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

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

    结果如下:

    HubbleDotNet搜索示例

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

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

  • 相关阅读:
    寻找字符串中只出现一次的第一个字符
    【二叉树】已知二叉树前序序列和中序序列,重建唯一二叉树
    单向链表插入与删除
    【二叉树->链表】二叉树结构转双向线性链表结构(先序遍历)
    先序构建二叉树及先序遍历二叉树
    【Leetcode】寻找数串中连续最大整数和且最大长度的子串
    稀疏矩阵存储、转置、乘法运算
    面试编程题拾遗(06) --- 打印n对括号的全部有效组合
    面试编程题拾遗(05) --- 括号匹配检查
    做到这一点,你也可以成为优秀的程序员
  • 原文地址:https://www.cnblogs.com/ayforver/p/3438303.html
Copyright © 2011-2022 走看看