可以告诉 CONTAINSTABLE 在每个搜索词中查看哪一列吗?

Can CONTAINSTABLE be told which column to look in per search term?

根据我的理解,似乎可以为 CONTAINSTABLE 提供一个索引列列表以在其中进行搜索。它将采用给定的搜索参数并在任何指定的列中查找它们。

是否可以使用 CONTAINSTABLE 在 A 列中查找 "FOO",在 B 列中查找 "BAR"?

我正在尝试优化我的搜索查询,但它 运行 很慢。它是一个基本的 CONTAINSTABLE,带有额外的 CONTAINS 谓词用于额外的列过滤器。如果可能的话,我试图将所有搜索压缩成一个 CONTAINSTABLE

您可以尝试将 CONTAINSTABLE 加入另一个 CONTAINSTABLE。

SELECT * 
FROM CONTAINSTABLE (schema.FullTextTable, ColumnA, 'FOO') as CT1
JOIN CONTAINSTABLE (schema.FullTextTable, ColumnB, 'BAR') as CT2 ON CT1.[KEY] = CT2.[KEY]
JOIN schema.FullTextTable as FT ON CT1.[KEY] = FT.[KEY]
WHERE.....

然而,在你走那条路之前,我可能会考虑阅读以下主题; Sql serve Full Text Search with Containstable is very slow when Used in JOIN! 基本上,它可能有助于从 CONTAINSTABLE 查询中获取关键值的快速临时 table,然后返回源 table 以获取您需要的额外数据或进行额外的过滤。

我原来问题的直接答案是: