ItemFinder 示例自述文件

此示例仅适用于 SQL Server 2005 和 SQL Server 2008,而不适用于 SQL Server 2005 之前的任何 SQL Server 版本。

ItemFinder 示例说明如何在数据库应用程序中实现搜索功能。通过使用 AdventureWorks 示例数据库和 SQL Server 的全文搜索功能,ItemFinder 使用户可以在存储为 XML 的摘要和产品说明中进行搜索。它们还可以搜索存储为二进制大型对象 (BLOB) 的文档。此示例应用程序说明:

  • 一些高级技术,例如分页和缓存。
  • 全文搜索中的新增功能,如增强的多语言功能和 XML 数据类型的实现。

默认位置:C:\Program Files\Microsoft SQL Server\100\Samples\Engine\Full Text Search

语言

Transact-SQL

功能

必备组件

在运行此示例之前,请确保已安装下列软件:

  • SQL Server
  • Microsoft 上提供的 AdventureWorks 数据库。

生成示例

如果尚未创建强名称密钥文件,则请使用以下说明生成该密钥文件。

生成强名称密钥文件

  1. 打开 Microsoft Visual Studio 2005 命令提示。单击“开始”,依次指向“所有程序”****、Microsoft .NET Framework SDK 2.0,再单击“SDK 命令提示”。

    - 或 -

    打开 Microsoft .NET Framework 命令提示。单击****“开始”,依次指向“所有程序”、Microsoft .NET Framework SDK 2.0,再单击“SDK 命令提示”。

  2. 使用更改目录命令 (CD) 将命令提示符窗口的当前目录更改为安装了示例的文件夹。

    ms160844.note(zh-cn,SQL.100).gif注意:
    若要确定示例所在的文件夹,请单击“开始”按钮,依次指向“所有程序”、Microsoft SQL Server、“文档和教程”,然后单击“示例目录”。如果使用了默认安装位置,则示例位于 <系统驱动器>:\Program Files\Microsoft SQL Server\100\Samples 中。
  3. 在命令提示符下,运行以下命令以生成密钥文件:

    sn -k SampleKey.snk

    ms160844.note(zh-cn,SQL.100).gif重要提示:
    有关强名称密钥对的详细信息,请参阅 MSDN 上 .NET 开发中心中的“安全简讯:.NET Framework 中的强名称和安全性”。

若要生成示例,请在 SQL Server Management Studio 中加载并执行 Scripts\install.sql 脚本,以设置全文索引并创建下列存储过程:

  • usp_SearchResumes
  • usp_SearchProducts
  • usp_SearchDocuments
  • usp_AddDocument

使用 Microsoft Visual Studio 2005 生成应用程序,或在 .NET Framework 命令提示符窗口中键入以下内容:

msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\ItemFinder.sln

运行示例

若要运行示例,请运行 bin\Release\ItemFinder.exe(或 bin\Debug\ItemFinder.exe)。

注释

ItemFinder 示例应用程序提供一个用户界面,允许您搜索摘要、产品说明和文档。您还可以使用该示例向 Document 表中添加文档。

示例数据有多种语言和格式。通过一组下拉列表,可以选择下列内容:

  • 库(简历、产品或文档)。
  • 语言(全文搜索支持的任何语言)。
  • 最大结果数。
  • 搜索类型(CONTAINS 或 FREETEXT)。

可以使用 ItemFinder 执行下列任务。

选择搜索条件

在文本框中输入搜索条件,然后单击**“搜索”**执行查询。

如果选择搜索类型 CONTAINS,ItemFinder 将采用 contains_search_condition 语法。例如,可以使用邻近运算符 NEAR 搜索“rear reflector”,方法是在文本框中键入 "rear" NEAR "reflector"。无论采用何种 contains_search_condition,请确保键入的搜索文本带有双引号(即“搜索文本”)。有关详细信息,请参阅 CONTAINS (Transact-SQL)

同样,如果选择搜索类型 FREETEXT,ItemFinder 将采用 freetext_search_condition 语法。例如,如果使用搜索条件 "rear reflector",则应在文本框中键入 rear reflector。但与 CONTAINS 不同,搜索文本不带双引号。有关详细信息,请参阅 FREETEXT (Transact-SQL)

浏览大型搜索结果

如果搜索结果超过一个 ListView 元素页,则只显示第一页结果。有一种简单而高效的内存缓存可用于存储与搜索条件匹配的键值和等级值,以及已经检索到的所有数据。

若要向前和向后滚动结果页,请使用**“上一页”按钮和“下一页”**按钮。

若要清除缓存,请单击**“清除结果”**,然后执行新搜索或关闭该应用程序。

更改数据库服务器的主机名

要使用的数据库服务器的主机名存储在 App.config 文件中。

更改主机名:

  1. 单击**“编辑”,然后单击“数据库设置”**。
  2. 直接编辑 App.config 文件。

向 Document 表中添加支持的文档类型

若要添加文档类型,请单击**“文件”,然后单击“添加新文件”**。

此外,还可以使用**“添加新文件”**菜单执行下列任务:

  • 指定文件的名称。
  • 在文件系统中放置文件。
  • 指定文件类型。
  • 存储文件的简短说明。

获取有关示例的帮助

若要获取有关该示例的信息,请单击**“帮助”菜单,然后选择“关于”**。

请参阅

其他资源

CREATE FULLTEXT CATALOG (Transact-SQL)
ALTER FULLTEXT CATALOG (Transact-SQL)
DROP FULLTEXT CATALOG (Transact-SQL)
CREATE FULLTEXT INDEX (Transact-SQL)
ALTER FULLTEXT INDEX (Transact-SQL)
DROP FULLTEXT INDEX (Transact-SQL)
CONTAINS (Transact-SQL)
CONTAINSTABLE (Transact-SQL)
FREETEXT (Transact-SQL)
FREETEXTTABLE (Transact-SQL)

帮助和信息

获取 SQL Server 2008 帮助