全文的不同结果搜索西班牙语不同案例的相同搜索

时间:2018-04-11 23:20:17

标签: sql sql-server full-text-search full-text-indexing

我在SQL Server 2016上使用全文CONTAINS来搜索表。但是,如果我在查询中更改案例,我会得到不同的结果。例如:

这样做(大写 L ):

select *  FROM CONTAINSTABLE(OITM, (ItemCode),  '"L-1326*"' )

返回:

  • L-1326 416
  • L-1326-COVER-SSS 208
  • L-1326-SSS 208

但这样做(小写'l')::

select *  FROM CONTAINSTABLE(OITM, (ItemCode),  '"l-1326*"' )

返回:

  • L-1326-COVER-SSS 208
  • L-1326-SSS 208

我的全文目录定义如下:

CREATE FULLTEXT CATALOG SBOWeex
WITH ACCENT_SENSITIVITY = OFF
GO

我的FullText索引定义如下:

CREATE FULLTEXT INDEX ON [dbo].[OITM] (
ItemCode Language 3082 
,ItemName Language 3082 
,CodeBars Language 3082
,SuppCatNum Language 3082 
) 
KEY INDEX OITM_PRIMARY
ON SBOWeex
WITH CHANGE_TRACKING AUTO
GO
ALTER FULLTEXT INDEX ON [OITM] SET STOPLIST = OFF

我不应期望两个查询都有相同的结果吗?

编辑:我正在使用Latin1-General,不区分大小写,重音敏感的排序规则。但我的全文目录定义为重音敏感度OFF。此外,这似乎只发生在组合“L - ” l - 的任何其他字母与“ - ”相结合似乎在西班牙语和英语解析中具有相同的行为

1 个答案:

答案 0 :(得分:0)

这取决于您正在运行的排序规则。听起来你正在运行区分大小写的排序规则。使用西班牙语,您还需要了解您是否正在运行重音敏感或重音不敏感的校对。

要查找数据库的排序规则,请按照此处的步骤操作: https://docs.microsoft.com/en-us/sql/relational-databases/collations/view-collation-information

然后,一旦你知道,看看罗伯特谢尔顿的文章Questions About SQL Server Collations You Were Too Shy to Ask