0

首先,我开始在包含12百万行的表上实施全文搜索。因此,也许我还没有理解它的所有错综复杂。 :)使用FREETEXTTABLE在单词“TESTISOTEST”中找不到我的搜索“iso”

所有这些12百万行似乎索引正确,我的索引是正确创建与1036作为LCID语言。我使用“SYSTEM”Stopwords列表,这个似乎是空的。现在对我来说没问题。使用

查询是这样的:

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,但在我看来真的不有用...

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

回答

0

全文搜索依赖于令牌化输入文本,通常这是在单词边界进行(对于西方语言)。所以你不能找到任意的子串,只能是单词。

+0

所以,对你来说这不是一个麻烦......这是一个正确的全文搜索结果。 –

+0

对于全文搜索的默认配置,它“按指定工作”。你必须决定你需要什么,并相应地选择和配置工具。 – Thilo

+0

感谢您的帮助Thilo。 当你说“相应地配置工具”时,你认为“使用freetextable/containstable/...”? –

相关问题