all groups > sql server full text search > october 2005 >
You're in the

sql server full text search

group:

Punctuation


Punctuation Wozza
10/18/2005 2:28:11 AM
sql server full text search:
I am trying to improve searching performance ... but I am storing data that
contains punctuation marks ... such as "E.L.O." and "R.E.M." (names of song
artists/groups).
Does this mean that I cannot use full-text searching at all for searching
for these artist names???
Is there a work-breaker that will allow the punctuation marks (fullstops in
particular), or is this a search issue rather than a word-breaker issue (i.e.
CONTAINS clause does not allow punctuation anyway)?
Re: Punctuation John Kane
10/18/2005 8:43:31 AM
Wozza,
Can you post the full output of -- SELECT @@version -- where you have this
problem?
Have you removed all single letter from the language-specific noise word
files (under \FTDATA\SQLServer\Config where you have SQL Server installed)
and ran a Full Population after these modifications? If not, then please do
this. The default wordbreaker behavior for punctuation is dependent upon the
OS-supplied wordbreaker and the @@version info will provide that.

Thanks,
John
--
SQL Full Text Search Blog
http://spaces.msn.com/members/jtkane/


[quoted text, click to view]

Re: Punctuation Wozza
10/18/2005 9:06:10 AM
Hi John,

select @@version produces ...

Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
Dec 17 2002 14:22:05
Copyright (c) 1988-2003 Microsoft Corporation
Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1)



[quoted text, click to view]
Re: Punctuation Wozza
10/18/2005 9:11:03 AM
John,

I have also cleared the Noise.dat file (my index set up to use the Neutral
language).

If I have done this ... how do I serach for "r.e.m." for instance.

Warren

[quoted text, click to view]
Re: Punctuation John Kane
10/18/2005 6:44:43 PM
Wozza,
Ok, as you're using Win2003 (Windows NT 5.2) and therefore using the
langwrbk.dll wordbreaker (vs. Win2K's infosoft.dll), you can search for the
three single letters using CONTAINS, for example: Note, the use of double
quotes to contain all single letters:

SELECT * FROM MyTable where CONTAINS(*,'"R.E.M"')

If you continue to get an error, then add back a single space character in
the noise.dat file under \FTDATA where SQL Server 2000 is installed and run
a Full Population, then re-run the above query.

Thanks,
John
--
SQL Full Text Search Blog
http://spaces.msn.com/members/jtkane/


[quoted text, click to view]

Re: Punctuation Wozza
10/19/2005 12:21:02 AM

ok, I tried
SELECT * FROM Track where CONTAINS(*,'"R.E.M."')
and
SELECT * FROM Track where CONTAINS(*,'"R.E.M"')

and got the same error each time ...

Server: Msg 7619, Level 16, State 1, Line 1
Execution of a full-text operation failed. A clause of the query contained
only ignored words.

.... so I added a space to Noise.dat and am repopulating.

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