I have SQL Server 2005 with a Full Text index on a product table. I am running into issues with the word breaker parsing on the - (dash) character.
If I have the following values in my [Keyword Search] field I see the following results;
ABC-Z-XY more text...
ABC-A-XY more text...
ABC-ABC-XY more text...
ABC-ABC-CE more text...
-- bring back 0 results -->WRONG
select top(200) [Keyword Search],* from [dbo].[Products] AS I
where CONTAINS((I.[Keyword Search]), '"ABC-A-XY*"')
-- bring back All 4 results -->WRONG
select top(200) [Keyword Search],* from [dbo].[Products] AS I
where CONTAINS((I.[Keyword Search]), 'ABC-A-XY')
-- bring back all 4 results -->WRONG
select top(200) [Keyword Search],* from [dbo].[Products] AS I
where CONTAINS((I.[Keyword Search]), '"ABC-A-XY"')
-- bring back 1 results -->CORRECT
select top(200) [Keyword Search],* from [dbo].[Products] AS I
where (I.[Keyword Search] like '%ABC-A-XY%')
In investigating I found that the - (dash) is used as a word breaker. Is there a way to explicitly bypass in the SQL 2005? I want to expicilty identify that the search NOT use - (dash) to break words. I have tried using different language codes, and that did not seem to work. Any pointers?