我在SQLServer2005上进行全文搜索时遇到问题。在我的设置中,我为单个列编制索引,我们称之为内容。索引是在中性区域性中完成的,因为列可能包含不同语言的文本。全文索引创建如下:
CREATE FULLTEXT INDEX
ON [dbo].[Table1]([Content])
KEY INDEX [UI_Table1_Id] ON [Catalog]
WITH CHANGE_TRACKING AUTO
这张桌子就满了。然后用户可以根据索引进行查询。查询有点像这样:
SELECT * FROM Table1 AS table1
INNER JOIN CONTAINSTABLE (Table1, Content, @0 , LANGUAGE 1033) AS KEY_TBL
ON table1.Id = KEY_TBL.[KEY]
WHERE table1.locale = 'en-US'
不过,我有一个问题。如果列中填充了一个包含单词“koncepttitel”的文本,并且我对它进行了查询,那么如果使用瑞典语(语言1053),则不会得到任何结果。如果我用英语(1033语言)来形容同一个词,我会很受欢迎的。
有什么方法可以让我配置SQL Server全文搜索以输出比此更多的诊断信息吗?例如,是否有一种方法可以让我查看全文搜索条件包含的干扰词?
问题是,我不太在乎我的用户搜索这个特定的词。然而,我担心这个错误可能会跨越更多相关的搜索词,这是我无法预见的,这意味着我的用户将无法找到他们正在寻找的。
更新
:我想知道我是否误解了全文搜索的设置。这个问题可能是因为我在中立文化中对内容进行了索引,并在特定文化中进行了查询?我应该在查询时始终使用中性文化吗?