0

First, i'm starting to implement a fulltext search on a table of 12 millions of rows. So maybe I have not yet understood all of its intricacies. :)

All those 12 millions of rows seem to indexed correctly and my index is correctly created with 1036 as LCID Language. I use the "SYSTEM" Stopwords list and this one seems to be empty. That's ok for me, for now.

Query used is like that :

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

This query used in a SP returned all datas with "ISO" value or "TEST ISO TEST" value but not with "TESTISOTEST" or "ISOTEST"...

Maybe it's the correct operation of the full-text search with FREETEXTABLE. But i would like to know how returned this "TESTISOTEST" type of data. Maybe by using CONTAINSTABLE but it seems to me really not useful...

Thanks for your help, Regards, Sébastien

Milen
  • 8,697
  • 7
  • 43
  • 57

1 Answers1

0

Fulltext search depends on tokenizing the input text, usually this is done at word boundaries (for Western languages). So you cannot find arbitrary substrings, only words.

Thilo
  • 257,207
  • 101
  • 511
  • 656
  • So, for you it's not a trouble... This is the correct one full-text search result. – Sébastien.B Jul 15 '13 at 12:27
  • For a default configuration of full-text-search it "works as specified". You have to decide what you need and choose and configure the tools accordingly. – Thilo Jul 16 '13 at 00:01
  • Thank for your help Thilo. When you say "configure the tools accordingly", you think "use freetextable / containstable / ..." ? – Sébastien.B Jul 16 '13 at 08:50