SQL 带有北欧字符的服务器全文搜索
SQL Server Full Text Search with nordic characters
我正在尝试使用我的应用程序进行全文搜索,但是 运行 遇到了一个我不知道如何解决的问题。
接受这个查询:
SELECT * FROM Books
WHERE CONTAINS(([Description], ReverseDescription), '"øgle"')
Øgle 是蜥蜴的丹麦语,对于那些想知道的人来说。这个查询给出了 37 个结果,你会认为这非常有意义。
现在,进行以下查询:
SELECT * FROM Books
WHERE CONTAINS(([Description], ReverseDescription), '"ogle"')
它给出了完全相同的 37 个结果。这是为什么?似乎无论我搜索 'o' 或 'ø' 中的哪个字符,它都能找到。这也适用于 'æ' 和 'a'。
任何人都可以对此有所了解吗?
更改整理Latin1_General_CS_AS
例如查询看起来像
SELECT * FROM Books
WHERE CONTAINS(([Description], ReverseDescription), '"øgle*"')
AND [Description] COLLATE Latin1_General_CS_AS LIKE '%"øgle*"%'
启用重音敏感度解决了这个问题。
可以这样做:
ALTER FULLTEXT CATALOG "your_fulltext_catalog"
REBUILD WITH ACCENT_SENSITIVITY = ON;
我正在尝试使用我的应用程序进行全文搜索,但是 运行 遇到了一个我不知道如何解决的问题。
接受这个查询:
SELECT * FROM Books
WHERE CONTAINS(([Description], ReverseDescription), '"øgle"')
Øgle 是蜥蜴的丹麦语,对于那些想知道的人来说。这个查询给出了 37 个结果,你会认为这非常有意义。
现在,进行以下查询:
SELECT * FROM Books
WHERE CONTAINS(([Description], ReverseDescription), '"ogle"')
它给出了完全相同的 37 个结果。这是为什么?似乎无论我搜索 'o' 或 'ø' 中的哪个字符,它都能找到。这也适用于 'æ' 和 'a'。
任何人都可以对此有所了解吗?
更改整理Latin1_General_CS_AS
例如查询看起来像
SELECT * FROM Books
WHERE CONTAINS(([Description], ReverseDescription), '"øgle*"')
AND [Description] COLLATE Latin1_General_CS_AS LIKE '%"øgle*"%'
启用重音敏感度解决了这个问题。 可以这样做:
ALTER FULLTEXT CATALOG "your_fulltext_catalog"
REBUILD WITH ACCENT_SENSITIVITY = ON;