-
SQL Server 和SQL Server Express书籍优化
发表于 2009年06月17日 3 条评论SQL Server 和SQL Server Express书籍,如果数据量很大,可以进行优化。优化后,可以获得很好的搜索速度,另外,点击文章里面的链接,反应速度也大大加快。
准备软件
- CyberArticle最新测试版本(2009年6月17号以及以后的版本)。从这个版本开始,优化了节点操作速度,支持SQL Server数据库全文搜索语法。
- SQL Server Management Studio或者SQL Server Management Studio Express,分别对应SQL Server和SQL Server Express。其中SQL Server Management Studio可以和SQL Server一起安装,SQL Server Management Studio Express可以在微软的网站下载。本文使用SQL Server 2008 180天开发版本。
注意:默认情况下,CyberArticle无法连接到 SQL Server 2008 / SQL Server Express 2008 数据库,请点击这里查看解决办法。
开启SQL Server全文搜索功能
1、在SQL Server Management Studio中,找到书籍数据库,在数据库名称上面点击右键,在菜单中选择属性

2、出现的对话框中,选择File,然后选择 Use full-text indexing(使用全文检索索引)。
点击OK(确定)按钮,关闭对话框。
3、展开数据库名节点,定位到数据库名StorageFull Text Catalogs,在这个节点上面,点击右键,选择 New Full-Text Catalog。

在出现的对话框里面,按照下图输入:
点击OK(确定)按钮就可以了。
4、展开数据库名节点,定位到数据库名Tablesdbo.Nodes,在这个节点上面,点击右键,选择 Full-Text index -> Define Full-Text index:

在出现的向导中,依次点击Next(下一步)按钮。在选择列的对话页面中,按照下面的方式选择:

在跟踪修改的页面中,根据自己的需要进行选择:

- 自动
- 手工
- 不跟踪修改
这些选项,主要用来设置 数据修改后,如何更新全文搜索引擎的方式。
然后下一步,选择Catalog,选择我们刚才创建的cyberarticle即可。

然后一直下一步,直至完成。此时,就设置好了全文搜索。您需要等待数据库进行全文索引的建立。这个过程可能需要很长的时间,例如几个小时甚至一整天或者更长,数据库的体积,也会不断地增大(我测试的数据库,从4G一直增加到8G,还没有结束)。
在CyberArticle里面启用数据库的全文搜索功能
在CyberArticle里面,打开书籍,然后在书籍节点上面,点击右键,选择“属性”,在属性对话框里面,切换到数据库Tab:

选中下面的“This database support full text search”。然后点击确定按钮。就可以在CyberArticle里面使用数据的全文搜索功能进行搜索。
测试结果
- 硬件:Thinkpad T42, 1.7G CPU, 1G内存,160G 5400转硬盘。
- 软件:Windows 7 RC,SQL Server 2008 开发版。
- 数据库:Nodes表有144057条数据,139013条记录是文章,数据库体积,在没有全文搜索之前3G多,增加全文检索后,7G多(还未完成)。
搜索速度比较:(最多返回50条记录)
- 优化前:搜索中文字符串,需要5分钟甚至更长的时间
- 优化后:15秒内,出现结果
在文章浏览器内点击一个链接,CyberArticle需要对这个链接进行搜索,查找是否已经保存在书籍中。
- 优化前:几分钟都没有反应
- 优化后:10秒内正确打开已经保存的网页
结论
利用优化后的数据库和CyberArticle,可以极大的加快搜索速度。因此,对于企业用户,按照上面的方式进行优化后,利用CyberArticle和SQL Server,完全可以胜任大型的知识库建立,并获得良好的效率。毕竟从上面的测试看,一个很老的笔记本,就可以达到这样的效率,如果更换成专用的数据库服务器,效率可以更高。
其它
如果您需要进行测试,请向我索取最新的支持数据库全文检索的CyberArticle测试版本。如果CyberArticle新的版本已经发布,请直接下载使用。
-
让CyberArticle支持SQL Server 2008或者SQL Server Express 2008
发表于 2009年06月17日 1 条评论默认安装的SQL Server 2008或者SQL Server Express 2008,CyberArticle无法连接到数据库。请按照下面的方式设置:
开始菜单 -> 所有程序 -> SQL Server 2008 -> Configuration Tools -> SQL Server Configuration Manager。
打开SQL Server Configuration Manager,切换到 SQL Server Network Configuration -> Protocols for MSSQLSERVER,如下图:

在右边的TCP/IP上面,点击右键,菜单中选择Enable (启用)。
然后停止并重新启动SQL Server服务,就可以了:
处理后,CyberArticle就可以正常连接到SQL Server 2008数据库了。






最近评论