【问题标题】:Full-Text Index Design Considerations (SQL Server 2008)全文索引设计注意事项 (SQL Server 2008)
【发布时间】:2012-01-18 19:00:21
【问题描述】:

我的网站要求用户可以搜索多个不同的表和列。所以我正在努力使用全文搜索来实现这一点。

我想从具有更多 FTS 经验的人那里获得一些关于以下问题的意见。

  1. 虽然 FTS 允许您在一次搜索中从同一个表中搜索多个列,但我没有看到在一次搜索中从多个表中搜索多个列的选项。真的是这样吗?

  2. 如果我需要多次搜索来搜索多个表,将每个表的索引放在不同的全文目录中是否有意义?向导似乎为较大的表推荐了一个新目录,但我不知道在这种情况下“大”是什么意思。

  3. 最后,是否要对结果进行排序,以使表的一列中的匹配项排在另一列中的匹配项之前?

【问题讨论】:

    标签: sql-server sql-server-2008 full-text-search


    【解决方案1】:

    1. 虽然 FTS 允许您在一次搜索中从同一个表中搜索多个列,但我没有看到搜索多个列的选项 一次搜索中来自多个表的列。这实际上是 案例?

    单个表上的 FTIndex 不能包含另一个表中的列。因此,通常,您只需要编写查询,以便进行多次搜索(您在 #2 中提到了这一点)。

    另一种选择是创建一个跨多个表的索引视图 (see requirements),然后在视图之上构建一个 FTIndex。我相信这是可能的,但你应该测试一下。

    2.如果我需要多次搜索来搜索多个表,将每个表的索引放在不同的全文中是否有意义 目录?向导似乎为更大的推荐了一个新目录 表,但我不知道在这种情况下“大”是什么意思。

    在 SQL2008 中应该没有区别,因为目录只是一个逻辑分组。但是,如果您有一个有意义的磁盘子系统,您可能会考虑将 FTIndexes 放在不同的文件组上(类似于在不同磁盘上跨文件组分区表的考虑...以分散 IO)。

    3.最后,有没有人想对结果进行排序,以使表的一列中的匹配出现在另一列中的匹配之前? 我不相信这是可能的......

    【讨论】:

      猜你喜欢
      • 2011-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      • 2011-06-10
      • 1970-01-01
      相关资源
      最近更新 更多