首先创建测试表
create table testFullIndexSearch(pk int identity constraint tfispk primary key, displayName varchar(100))
GO
create fulltext catalog test1 as default
GO
create fulltext index on testFullIndexSearch(displayName) key index tfispk
GO
insert into testFullIndexSearch(displayName) values('sharepoint')
insert into testFullIndexSearch(displayName) values('share')
insert into testFullIndexSearch(displayName) values('point')
GO
全文索引中displayName的语言是英语。 然后我使用下面的查询来搜索
select * from testFullIndexSearch t inner join
CONTAINSTABLE(testFullIndexSearch, *, 'FORMSOF(INFLECTIONAL, "Sharepoint")', LANGUAGE 1031) as w on t.pk=w.[Key]
没有任何回报。但我们使用解析器来分析关键字
SELECT * FROM sys.dm_fts_parser ('"Sharepoint"', 1031, 0, 0)--1031 German
我们应该得到3条记录,包括sharepoint,share和point。 那么为什么我们不能用德语搜索Sharestable中的记录。 对于其他语言,如西班牙语或法语等都是有效的。