search
HomeDatabaseMysql TutorialAtitit.软件按钮与仪表盘(13)--全文索引操作--db数据库子系统mss

Atitit.软件按钮与仪表盘(13)--全文索引操作--db数据库子系统mssql2008 全文索引操作 4.全文索引和like语句比较 1 5.倒排索引 inverted index 1 2.SQL Server 2008全文检索 2 3.Lucene全文检索 3 一般情况,使用SQL Server中的全文索引,经过大体4个步骤: 4

Atitit.软件按钮与仪表盘(13)--全文索引操作--db数据库子系统mssql2008

全文索引操作

4.全文索引和like语句比较 1

5.倒排索引 inverted index 1

2.SQL Server 2008全文检索 2

3.Lucene全文检索 3

一般情况,使用SQL Server中的全文索引,经过大体4个步骤: 4

Mssql2008的全文索引操作(attilax验证) 5

查看全文index使用大小 5

查看表行数与体积大小 6

参考 6

4.全文索引和like语句比较

当然是全文索引的执行效率高.

一般全文索引使用的是倒排索引,能够支持多关键字的索引,而LIKE只有前缀匹配时才能使用索引,否则就是全表扫描,效率当然很低

但全文索引存在填充问题,需要在增加内容后进行增量填充,否则检索不到新增的内容的。Sql Server 2008里可采用基于更改跟踪的填充, 速度飞快, 几乎可以认为就是实时增量填充了.

作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

5.倒排索引 inverted index

为什么Sql server全文检索和Lucune全文检索速度快呢, 因为它和大多数搜索引擎一样, 都使用了倒排索引 inverted index

2.SQL Server 2008全文检索

为了提高效率, 换用sql server的全文检索, 怎么建全文检索就此略去, 不提, 只看查询方法.

例如: select * from table where contains(ProductDesc, '*cad*')

它查询的效率很高, 支持中文分词(但好不好就另说了), 但缺点竟然是在英文查询上, 如果想模糊查询带cad三个字母的数据, 它只能搜索出以cad为完整单词的数据, 例如: 它能查出abc cad , cad def, 或者cad, 它不能查出autocad这种字母连在一起的数据, 也就是说, sql server的全文检索的英文分词是空格, 要想查连在一起的英文词, 它办不到, 得另寻第三方的全文索引了, ms如果在这里开个可扩展的口子多好, 可惜了.

索引的更新填充问题: 创建好全文检索就自动来一次完全填充, 如果在跟踪更改处选择自动, 全文检索就会采用基于更改跟踪的填充, 原表数据一旦有改动, 就会从后台悄悄地传播过来, 自动的更新全文索引. 具体可参考http://msdn.microsoft.com/zh-cn/library/ms142575.aspx

在更新全文索引之前这段时间, 搜不到新录入但未收入全文索引的数据, 但like可查到. 虽然不是实时的, 但是经过测试, 我发现这个更新速度非常之快, 几乎一改原表, 全文索引就更新了, 所以我觉得可以认为实时的, 估计sqlserver内部应该是用观察者模式实现这个功能的.

另外, contains包含的列都必须来自同一个表, 不能跨表, 例如where contains(a.ProductDesc, b.ProductName, '*cad*'), 这样是不行的.

3.Lucene全文检索

SQL server全文检索不灵了, 只能找第三方的方案了, 首当其冲的就是Lucene了, 但在.net下, Lucene却很不顺当.

NLucene是将 Lucene 从 Java 移植到 .NET 的一个 SourceForge 项目,它从 Lucene 1.2 版本转化而来, 但2002年就停止更新了.

因为 NLucene 项目到2002年就没有再推出新的版本,可Lucene 却一直在发展,于是有人把Lucene 1.3版移植到.NET就成了Lucene .NET,但是Lucene .Net发展到2.0版的时候变成了商业化的产品,脱离了开源项目, 听说现在进了孵化器已停止开发了, 但上官网http://incubator.apache.org/lucene.net/download.html上看, 还仍然在更新中似乎没有停止, 最新开源的版本是2.9.2, 发布日期是2011年5月6日, 他们还在准备2.9.4版.

受到Lucene.Net脱离开源项目的影响,有人为了继续发展开源.Net搜索引擎,于是在Lucene.Net的原有基础上继续发展该项目,但是名字改成了DotLucene以区别于Lucene.Net。但现在打开官网一看, 得, 又停止了. 看来, 只能用Lucene.Net2.0这最后一个开源版本了.

索引的更新填充问题: 也是要隔一段时间更新一次索引, 也是不可实时更新的, 需要定期更新填充才可以, 如果需要频繁更新推荐删除旧的然后重建索引.

一般情况,使用SQL Server中的全文索引,经过大体4个步骤:

  1). 安装full text search全文索引服务;

  2). 为数据表建立full text catalog全文索引目录;

  3). 进行full text catalog的population操作(使全文索引与数据表内容同步);

4). 使用全文索引进行查询。

Mssql2008的全文索引操作(attilax验证)

 1.启动SQL Full-text Filter Daemon Launcher (MSSQLSERVER) 服务

2.建设:::索引表格>>ritkey>>全文index>>创建fulltxt 或者

Db>存储>>全文目录>新建全文目录

3..增添计划>>cpu 空闲的.....

4.   4. 使用索引功能:

select * from mybbs_Table where Contains(col2,'"windows"');

速度还凑火..

查看全文index使用大小

增添状态:::正在处理通知 ..表明目前等候插入....平常状态..

目录大小:::5g

查看表行数与体积大小

表格属性>>存储...>>>35G

参考

Lucene.Net, SQL Server 2008全文检索, Like模糊查询的一点心得 - BobLiu - 博客园.html

使用SQL Server中的全文索引_知识库_博客园.html

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
telegram是什么软件telegram是什么软件Jul 07, 2022 pm 05:05 PM

Telegram是一款跨平台的即时通讯软件,用户可以相互交换加密与自毁消息,发送照片、影片等所有类型文件;Telegram有加密聊天的功能,使用这种功能,聊天双方的内容完全保密,不会担心被监控或被第三方偷窥。官方提供Android、iOS、Windows、macOS、Linux和网页版等多种平台客户端;同时官方开放应用程序接口,有许多第三方的客户端可供选择 。

armoury crate是什么软件armoury crate是什么软件Jul 18, 2022 pm 03:52 PM

armoury crate是一款简易实用,功能全面的华硕系统控制软件;通过Armoury Crate平台,可以启动主页面上的系统性能模式调整、设置相关应用软件、获取系统信息,当机器连接支持的外设时,也可以使用Armoury Crate中所整合的Lighting、AURA Sync功能进行各种灯光特效的设定。

xrkit是什么软件xrkit是什么软件Jul 18, 2022 pm 03:13 PM

XRKit是为华为手机场景提供场景化、组件化的AR解决方案的框架软件,也就为华为相机,提供了虚拟模型在真实世界中的呈现。XRKit软件支持AR SDK,能与Unity3D引擎兼容,包括PTC Vuforia,ARKit,ARCore等。为AR呈现能力、人脸特效、光影特效;它属于华为XR生态的基础性软件。

推特是什么软件推特是什么软件Jul 13, 2022 am 11:07 AM

推特(Twitter)是一个社交网络及微博客服务软件,是一家美国的公司;Twitter利用无线网络、有线网络、通信技术进行即时通讯,是微博客的典型应用,允许用户将自己的最新动态和想法以短信息的形式发送给手机和个性化网站群。

glance by mirametrix是什么软件glance by mirametrix是什么软件Jul 28, 2022 am 10:59 AM

glance by mirametrix是一款眼球追踪软件;glance是由Mirametrix开发的应用程序,软件配合红外摄像头可识别用户脸和眼睛的方向,其中主要包括了状态检测、智能指针和窗口分屏三个功能。

ldplayer是什么软件ldplayer是什么软件Aug 02, 2022 pm 02:59 PM

ldplayer是一款多功能Android操作系统的模拟器,通过它可以直接在PC上运行Android智能手机游戏,是将家用PC或笔记本电脑转变为运行移动软件的游戏机的方法;ldplayer可以用来进行联网,用户可以和其他人一起开启联机对战。

rav endpoint protection是什么软件rav endpoint protection是什么软件Aug 11, 2022 pm 04:06 PM

rav endpoint protection是瑞星杀毒软件;RAV是“RisingAnti-virus”的缩写,是瑞星反病毒软件的意思,瑞星杀毒软件采用获得欧盟及中国专利的六项核心技术,形成全新软件内核代码,具有八大绝技和多种应用特性。

commercial service是什么软件commercial service是什么软件Aug 11, 2022 pm 04:17 PM

commercial service指的是商业服务软件;该软件主要为提供产品维修、系统升级、检测换机以及产品咨询等服务,服务的产品包括手机、电视、手表、耳机以及其他配件。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor