为什么德语无法在全文索引搜索中搜索出一些特殊的英语单词

时间:2015-12-23 03:09:16

标签: sql-server sql-server-2008

首先创建测试表

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中的记录。 对于其他语言,如西班牙语或法语等都是有效的。

0 个答案:

没有答案