Atitit.软件button和仪表板(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语句比較

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

一般全文索引使用的是倒排索引,可以支持多keyword的索引,而LIKE仅仅有前缀匹配时才干使用索引,否则就是全表扫描,效率当然非常低

但全文索引存在填充问题,须要在添加内容后进行增量填充,否则检索不到新增的内容的。

Sql Server 2008里可採用基于更改跟踪的填充, 速度飞快, 差点儿能够觉得就是实时增量填充了.

作者::老哇的爪子Attilax艾龙,EMAIL:[email protected]

转载请注明来源: 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

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-10-08 11:21:50

Atitit.软件button和仪表板(13)--全文索引操作--db数据库子系统mssql2008的相关文章

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语句比较 当然是全文索引的执行效率高. 一般全文索引使用的是倒排索引,能够支持多关键字的索引,而LIK

开源资产管理软件-GLPI(9.13)操作手册

1.简介 GLPI是法语Gestionnaire libre de parc informatique的缩写,是一款历史悠久的资产管理软件: GLPI提供功能全面的IT资源管理接口,可以用来建立数据库全面管理IT的电脑,显示器,服务器,打印机,网络设备,电话,甚至硒鼓和墨盒等.提供Helpdesk用户支持平台:联系人,合同,合作商,以及文档的管理:提供资源预定,知识库的管理等功能." 日常工作中偶然接触到GLPI,通过安装部署,配置LDAP,Fusioninventory,OCS Invento

Atitit.软件GUIbutton和仪表板(01)--警报系统--

1. 温度报警防区(鲁大师,360taskman) 1 2. os-区-----cpu_mem_io资源占用监測 1 3. Vm区 1 4. db数据库 2 5. platform子系统监測 2 1. 温度报警区(鲁大师,360taskman) Cpu温度,风扇转速 主板温度 显卡温度 硬盘温度 电池温度 Cpu温度  core temp  1.0 (能每一个核心温度监控) 温度alert设置 作者::老哇的爪子Attilax艾龙.EMAIL:[email protected] 转载请注明来源:

Atitit.软件仪表盘(4)--db数据库子系统-监测

连接数::: 死锁表列表:死锁基础列表(最近几条记录,时间,sql等) 3.对服务器进行监控,获取CUP,I/O使用情况 4.对数据库进行监控,获取数据库文件所在磁盘剩余空间大小及数据空间和日志空间使用情况 每个表数据以及size情况 6.提供手机短信报警功能,如果服务器或数据库出现异常,程序可以以短信的方式马上通知管理员. 7.所有的数据库异常情况都完整写入日志. 作者::老哇的爪子Attilax艾龙,EMAIL:[email protected] 转载请注明来源: http://blog.c

Atitit.软件仪表盘(4)--db数据库子系统-监測

连接数::: 死锁表列表:死锁基础列表(近期几条记录,时间,sql等) 3.对server进行监控.获取CUP.I/O使用情况 4.对数据库进行监控.获取数据库文件所在磁盘剩余空间大小及数据空间和日志空间使用情况 每一个表数据以及size情况 6.提供手机短信报警功能.假设server或数据库出现异常.程序能够以短信的方式立即通知管理员. 7.全部的数据库异常情况都完整写入日志. 作者::老哇的爪子Attilax艾龙.EMAIL:[email protected] 转载请注明来源: http:/

Atitit.软件硕士  博士课程 一览表 attilax 总结

Atitit.软件硕士  博士课程 一览表 attilax 总结 1. Attilax聚焦的领域1 2. 研究生硕士博士课程汇总表1 3. 博士课程3 4. Attilax额外的4 5. 参考4 1. Attilax聚焦的领域 Dsl 语言 ide 类库 框架 数据库 的实现 Debug工具 文本信息的解锁,无损压缩(pdf ,word2html) 图片物体检测与色情图片识别,人脸识别 信息采集,比较,同步工具,信息发布工具 输入法,词库维护工具  翻译机 垃圾文件识别与清理器 快速启动器(at

Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php

Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php 1. RFC2396标准 including HTML 4.01 section 17.13.4, and also RFC 1866 (which is supercededby the W3C HTML recommendations). 在form的ContextType是[x-www-form-urlencoded]的时候会对form中的键/值对进行编码,空格被转义成+,

atitit.软件开发--socket框架选型--netty vs mina j

atitit.软件开发--socket框架选型--netty vs mina j . Netty是由JBOSS提供的一个java开源框架 Apache mina 三.文档比较 mina文档多,,, 好几倍... 作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:[email protected] 转载请注明来源: http://blog.csdn.net/attilax 四.UDP协议传输 1. netty将UDP无连接的特性暴露出来:而mina对UDP进行了高级层次的抽象,可以把UD

Atitit Atitit.软件兼容性原理----------API兼容 Qa7

1. 兼容性的重要性与反面教材1 2. 提升兼容性的原则2 2.1. What 与how 分离2 2.2. 老人老办法,新人新办法,只新增,少修改,莫删除3 2.3. 计划赶不上变化,永远api修改也不可能整齐划一,反而带来不兼容的风险3 3. 把握API的生命周期andAPI分级3 4. 对兼容性保持友好的api设计方法3 4.1. 细粒度的方法3 4.2. Ioc容器动态配置3 4.3. 把你的method()视为全局global的,确保每一个方法都不重名尽可能..不要幻想有模块命名空间等,