我正在尝试使用我的应用程序进行全文搜索,但遇到了一个我不知道如何修复的问题。
采取此查询:
SELECT * FROM Books
WHERE CONTAINS(([Description], ReverseDescription), '"øgle"')
对于那些想知道的人来说,对于lizzard来说,这是一个丹麦语。这个查询给出了37个结果,这是完全合理的,你会想。
现在,请进行以下查询:
SELECT * FROM Books
WHERE CONTAINS(([Description], ReverseDescription), '"ogle"')
它给出了完全相同的37个结果。这是为什么?似乎无论我搜索哪个字符'o'或'ø',它都找到了。这适用于'æ'和'a'。
任何可以对此有所了解的人?
答案 0 :(得分:0)
更改COLLATE Latin1_General_CS_AS
例如查询将看起来像
SELECT * FROM Books
WHERE CONTAINS(([Description], ReverseDescription), '"øgle*"')
AND [Description] COLLATE Latin1_General_CS_AS LIKE '%"øgle*"%'
答案 1 :(得分:0)
启用重音敏感度解决了这个问题。 这可以这样做:
ALTER FULLTEXT CATALOG "your_fulltext_catalog"
REBUILD WITH ACCENT_SENSITIVITY = ON;