SQL 全文搜索不包含精确

SQL Full Text Search NOT contain exact

在我的应用程序中,客户可以选择多个词从他们的搜索中排除。这些词 运行 针对 FullTextSearch 字段。

我想知道是否有一种方法可以使 完全匹配 全文搜索 .

例如字段包含

Record 1 - `Oranges, Apples, BloodOranges`
Record 2 - `Oranges`
Record 3 - `BloodOranges`
Record 4 - `Apples`

如果客户过滤橙子,它将过滤 Oranges 和 BloodOranges。我想 return 记录 3,4.

SELECT * 
FROM Contacts 
WHERE  Contains (taglist, 'Oranges') 

在SQL-服务器中你可以使用CONTAINSTABLE
例如:
这 returns 您是包含确切短语“Oranges”的联系人

SELECT *, k.[Rank]
FROM Contacts c
INNER JOIN CONTAINSTABLE([dbo].[Contacts], taglist, N'"Oranges"') as [k]
    ON c.Id = k.[Key]

对于你想要的,你可以这样写:

;With CTE AS
(
    SELECT c.Id
    FROM Contacts c
    INNER JOIN CONTAINSTABLE([dbo].[Contacts], taglist, N'"Oranges"') as [k]
        ON c.Id = k.[Key]
)
Select * From Contacts CC
Where CC.Id not in (Select Id From CTE)