SQL Server:使用join进行全文搜索

时间:2013-04-19 18:59:58

标签: full-text-search full-text-indexing

<groveling>

这可能是非常基本的东西。我是全文索引和搜索的新手,我一直试图让它工作几个小时,所以请放轻松我:)

</groveling>

假设我有一张名字,姓氏,地址,dob等人的表......

create table mypeople
(
  id int identity(1,1) primary key,
  firstname varchar(100) not null,
  lastname varchar(100) not null,
  address varchar(100) not null
)

我有另一张表格,其中包含我不想与之合作的人的信息,已知的国际罪犯,以及曾经欺骗过我公司的人等等。

create table badguys
(
   id int identity(1,1) primary key,
   firstname varchar(100) null,
   lastname varchar(100) null,
   alias varchar(max) null,
   address varchar(max) null
)

我的badguy表上有一个全文索引,包括firstname,lastname,alias,address。我需要做的是查看mypeople表中的所有firstnames,看看它们是否在badguys表中。几个小时我一直在搞乱不同的查询,并没有找到适合我的任何东西。

1 个答案:

答案 0 :(得分:0)

您可以通过多种方式实现词库匹配 请参考此链接:
http://msdn.microsoft.com/en-us/library/ms142491.aspx

要查找与全文索引匹配,请使用以下内容:

SELECT FirstName, LastName
FROM MyPeople AS a
WHERE NOT EXISTS(
    SELECT FirstName, LastName      
      FROM [MTPS].[dbo].[BadGuys]
      WHERE  CONTAINS((FirstName,LastName), @searchExpr)
)