Groups | Blog | Home
all groups > sql server full text search > july 2003 >

sql server full text search : FTS and noise words


(idror NO[at]SPAM healthology.com)
7/30/2003 9:00:24 AM
Why when searching for more than one word in a text search and at least one word (but not all) is a noise word i get the msg - "The query contained only ignored words" .
for example : if the search text is "what does Allergist do?" i get the msg despite the fact "Allergist" is not noise word.
this is how i query it:
select a.* from containstable(tbl_sSearchMain, keywords, 'FORMSOF(INFLECTIONAL,What) and
FORMSOF(INFLECTIONAL,Does) and
FORMSOF(INFLECTIONAL,the) and
FORMSOF(INFLECTIONAL,Allergist) and
FORMSOF(INFLECTIONAL,Do)') as a
join tbl_sSearchMain
on a.[key] = tid
order by a.rank desc

thx!

**********************************************************************
Sent via Fuzzy Software @ http://www.fuzzysoftware.com/
John Kane
7/30/2003 9:57:06 AM
I D,
Unfortunately, this is expected behavior when using "noise words", such as
"the" and "do" and assuming that US_English is your FT-enabled column's
"Language for Word Breaker" (defined in the FT Indexing Wizard, when you
created the FT Catalog) as these words are in the noise word file (noise.enu
for US_English) under \FTDATA\SQLServer\Config. You could remove these words
and then re-run a Full Population, but then you would still have to deal
with other noise words and your FT Catalog would get bigger with these
common 'noise' words, as they add no significant input for FTS queries.

You can also try using a "phrase" search, i.e. use double quotes around a
multiple word string that contains these noise words and then the noise
words are truly ignored, for example:

select a.* from containstable(tbl_sSearchMain, keywords,'"what does
Allergist do?"') and FORMSOF(INFLECTIONAL,Allergist)

For more info, see SQL Server 2000 BOL title "Full-Text Search
Recommendations" as well as the following KB article 246800 (Q246800) "INF:
Correctly Parsing Quotation Marks in FTS Queries"
http://support.microsoft.com//default.aspx?scid=kb;EN-US;246800. Also,
search this newsgroup for past postings of Hilary Cotter's client-side
solution using SearchPage.htm for cleaning up the noise words prior to
submitting the FTS query to SQL Server.

Regards,
john



[quoted text, click to view]
one word (but not all) is a noise word i get the msg - "The query contained
only ignored words" .
[quoted text, click to view]
ASP.NET resources...

Hilary Cotter
7/30/2003 11:52:38 AM
Your contains query with the formsof Inflectional clause
of each term in your search argument is the functional
equivalent of a FreeText query.

I suggest you use a FreeText query where you won't bump
into this problem with such queries.

[quoted text, click to view]
***********************************************************
***********
[quoted text, click to view]
AddThis Social Bookmark Button