Search code examples
sqlsql-serversql-server-2012full-text-searchfull-text-indexing

Difference in data retrieved with full-text index search in SQL Server 2012 and SQL Server 2016


There is an issue with full-text search in SQL Server 2012 while it works fine in SQL Server 2016.

I have the following sample images showing the output of the similar query which returns data with underscore in 2016 and in other screen it doesn't return any data with underscore and that is in SQL Server 2012.

In SQL 2012 In SQL 2012 it does not show the data with full text index search

In SQL 2016 In SQL 2016 it shows data with full text index search

Can anyone suggest a solution for this or any reference suggesting the solution for this issue and also the explanation why this kind of behavior is seen in between these SQL Versions.


Solution

  • After working on finding a solution for this issue with full-text search it is identified as the work breaker .dll is been built on different versions of SQL Server with certain special characters as word breakers.

    We cannot view the list of word breakers to confirm this as it is built on .dll based architecture and we can only get the paths indicating the .dll file location's. To manually add a character to this word breaker .dll, it can be very complicated and time taking process and will have to do reverse engineering with the .dll's and try to add the above mentioned "underscore" as a word breaker and recreate the .dll.

    https://dba.stackexchange.com/questions/50366/sql-server-2012-full-text-search-break-word-underscore

    Partial fix with reference to the above URL they were able to get the result by changing the language to Chinese (1028) and we cannot do that as it can create other issues related to synonym search using full-text.