Search

Full text searches behavior change from 2005 to 2008, for Neutral word-breaker by Kumar R V S

Resolved
as By Design Help for as By Design

3
0
Sign in
to vote
Type: Bug
ID: 776758
Opened: 1/16/2013 10:40:39 PM
Access Restriction: Public
0
Workaround(s)
2
User(s) can reproduce this bug
The main string tried for searching is - hr001.2005.05.05

The column that has this string, a full-text index has been created with the language word-breaker as "Neutral". While searching for this string in SQL 2005 the searches are working. While the same is not working in 2008.    


select * from table where contains (column, '"hr001*"') -- works in SQL 2005 and 2008

select * from table where contains (column, '"hr001.*"') -- works in SQL 2005 and 2008                                    

select * from table where contains (column, '"hr001.2*"') -- works in SQL 2005 and NOT in 2008

There is no change in the column, word-breaker language etc in the environments except that the version of the SQL is changed from 2005 to 2008.


=================

Russell Fields suggested to log a bug in here. Please check the below for more details -

http://social.msdn.microsoft.com/Forums/en-US/sqlsearch/thread/e004d207-d0bc-424a-aaf7-9c5fbe641202
Details (expand)

Product Language

English

Version

SQL Server 2008 R2 SP1

Category

SQL Engine

Operating System

Windows 7 (all editions)

Operating System Language

US English

Steps to Reproduce

Search issue behavior degraded in 2008 as compared to 2005 -

The main string tried for searching is - hr001.2005.05.05

The column that has this string, a full-text index has been created with the language word-breaker as "Neutral". While searching for this string in SQL 2005 the searches are working. While the same is not working in 2008.    


select * from table where contains (column, '"hr001*"') -- works in SQL 2005 and 2008

select * from table where contains (column, '"hr001.*"') -- works in SQL 2005 and 2008                                    

select * from table where contains (column, '"hr001.2*"') -- works in SQL 2005 and not in 2008

There is no change in the column, word-breaker language etc in the environments except that the version of the SQL is changed from 2005 to 2008.



Actual Results

Third Query works in SQL Server 2005, while it is not working in SQL Server 2008

Expected Results

Consistently the third query should work in SQL Server 2008 as well compared to the SQL Server 2005 version

Platform

X64

Virtualization

Hyper-V (On-Premise)
File Attachments
0 attachments
Sign in to post a comment.
Posted by Microsoft on 4/24/2013 at 11:53 AM
This is a change in behavior of the neutral word-breaker in 2008, so not SQL specific. We intentionally changed the word-breakers in 2008 and in Denali to the NLG word-breakers for better semantics, so this is by design.
However the workaround is to point the sql to 2005 versions wordbreaker in the registry. http://msdn.microsoft.com/en-us/library/dd207002.aspx
Posted by Microsoft on 4/23/2013 at 7:46 PM
Dear Sivakumar, thanks for reporting the issue and our apologies for the delay. Have you found a workaround yet? We are investigating at the moment, however, given our current prioritization of work for the upcoming releases, it may not get fixes quickly.
Posted by Kumar R V S on 1/21/2013 at 9:37 PM
MS team, can you please provide an update on this?

Regds,
Sivakumar
Sign in to post a workaround.