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)?
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/
"Wozza" <Wozza@.discussions.microsoft.com> wrote in message
news:4FCD6297-AF76-4DE0-A43F-9FE2B667BAB2@.microsoft.com...
>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)?
>
|||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)
"John Kane" wrote:
> 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/
>
> "Wozza" <Wozza@.discussions.microsoft.com> wrote in message
> news:4FCD6297-AF76-4DE0-A43F-9FE2B667BAB2@.microsoft.com...
>
>
|||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
"John Kane" wrote:
> 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/
>
> "Wozza" <Wozza@.discussions.microsoft.com> wrote in message
> news:4FCD6297-AF76-4DE0-A43F-9FE2B667BAB2@.microsoft.com...
>
>
|||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/
"Wozza" <Wozza@.discussions.microsoft.com> wrote in message
news:28143E7D-BA1E-47EE-9C86-CB95D4A428ED@.microsoft.com...[vbcol=seagreen]
> 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
> "John Kane" wrote:
|||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.
"John Kane" wrote:
> 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/
>
> "Wozza" <Wozza@.discussions.microsoft.com> wrote in message
> news:28143E7D-BA1E-47EE-9C86-CB95D4A428ED@.microsoft.com...
>
>
Wednesday, March 21, 2012
Punctuation
Labels:
database,
improve,
marks,
microsoft,
mysql,
names,
oracle,
performance,
punctuation,
searching,
server,
sql,
storing,
thatcontains
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment