如何找出在全文搜索中找到搜索关键字的位置

时间:2012-08-25 06:26:53

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

考虑一下

SELECT  * 
FROM Publication a          
INNER JOIN  CONTAINSTABLE(Publication, (Title, Keywords), 
@TitlePartial)TitleSearchPartial ON  a.Id = TitleSearchPartial.[Key]

我正在Title表的KeywordPublication列中搜索。 搜索关键字可以在“标题”或“关键字”中的任何位置找到 如何找到找到搜索关键字的列?有没有开箱即用的方法来做到这一点?

任何想法......

1 个答案:

答案 0 :(得分:0)

你可以尝试这样的事情:

SELECT *,
    CASE
        WHEN b.[Key] IS NOT NULL THEN 'Title'
        WHEN c.[Key] IS NOT NULL THEN 'Keywords'
        END AS MatchColumn
FROM Publication a
    LEFT JOIN CONTAINSTABLE(Publication, Title, @TitlePartial) b
        ON a.Id = b.[Key]
    LEFT JOIN CONTAINSTABLE(Publication, Keywords, @TitlePartial) c
        ON a.Id = c.[Key]
WHERE (b.[Key] IS NOT NULL
        OR c.[Key] IS NOT NULL)

您可能需要添加另一个案例来匹配两个列。此外,不幸的是,我现在无法对此进行测试。