1

我最近在我的公司创建了一个搜索系统,使用基于 Lucene 的 Regain Search 来搜索所有软件支持票。我在 SQL 中运行一些查询来提取我的数据、导出到 Excel、导入到 Access、运行一些其他查询、创建报告、将报告导出到 .txt 文件,并在处理之前使用文件拆分器将 HTML 文本拆分为页面它关闭到索引器。总结果是 90,000 多个页面被编入索引,我每天只更新大约 2,000 个左右,其余的都是关闭的支持事件,不会改变。结果是一个很棒的搜索功能,但更新记录是一个非常乏味和手动的过程。

我想把它改造成一个每晚自动更新的系统(或者至少尝试尽可能地自动化)。我已经构建了一个 SQL 2005 服务器并将其链接到我具有读取权限的生产服务器。我试图找出从这里采取的最佳方法。这些表基本上如下:

案子

CaseID CompanyID (FK) 说明 解析

活动

ActivityID CaseID (FK) 日期 技术员 评论

公司

CompanyID 公司名称 LicenseType

升级

EscalationID CaseID (FK) 详细信息

那么我是否要运行“select into”语句来创建一个可以索引并运行搜索的大型非规范化表?有没有这方面的例子或书籍?我需要报告服务吗?最重要的是要保持快速的查询速度。现在所有查询几乎立即返回。任何帮助是极大的赞赏。

4

1 回答 1

1

您是否研究过 SQL Server 全文搜索?这听起来很适合您在这里尝试完成的工作。如果您有报告需求,SQL 报告服务可以满足此要求。

索引维护可以设置为实时或按计划进行。

这两种产品在 SQL 2005 中都是可靠的和 productino 就绪的,但如果您能够使用 SQL 2008,它们都会提供一些改进。

一些全文参考:BOL - http://technet.microsoft.com/en-us/library/ms142571(SQL.90).aspx aspalliance.com/1512_understanding_full_text_search_in_sql_server_2005

一些报告服务参考: BOL - technet.microsoft.com/en-us/library/cc917530.aspx RulesToBetterSQLReportingServices - www.ssw.com.au/ssw/standards/Rules/RulesToBetterSQLReportingServices.aspx

这两个方面也有很多好书。

不确定直接针对链接服务器的全文选项是什么,但您始终可以维护需要 inexed 的本地副本。如果您需要移动数据等,Sql Server 集成服务是我多年来在生产中成功使用的可靠产品。

于 2009-12-28T16:55:00.657 回答