0

首先,我开始在 1200 万行的表上实现全文搜索。所以也许我还没有理解它所有的复杂性。:)

所有这 1200 万行似乎都正确编入索引,并且我的索引是使用 1036 作为 LCID 语言正确创建的。我使用“SYSTEM”停用词列表,这个列表似乎是空的。对我来说没关系,现在。

使用的查询是这样的:

DECLARE @Keywords nvarchar(2800)
SET @Keywords = 'iso'

SELECT FT.[Key], DS.Data, DS.DataTypeId
FROM DatasSearch_fr AS DS
INNER JOIN FREETEXTTABLE(DatasSearch_fr, (Data), ''' + @Keywords + ''', LANGUAGE 1036) AS FT  ON FT.[Key] = DS.Id
ORDER  BY DS.DataTypeId DESC

SP 中使用的此查询返回所有具有"ISO"值或"TEST ISO TEST"值但不具有"TESTISOTEST""ISOTEST"...的数据

也许是全文搜索的正确操作FREETEXTABLE。但我想知道如何返回这种“ TESTISOTEST”类型的数据。也许通过使用CONTAINSTABLE,但在我看来真的没用......

感谢您的帮助,问候,塞巴斯蒂安

4

1 回答 1

0

全文搜索依赖于对输入文本进行标记,通常这是在单词边界处完成的(对于西方语言)。因此,您无法找到任意子字符串,只能找到单词。

于 2013-07-15T09:59:26.713 回答