我有一个非常大的数据库,包含数十亿字。我需要在这些单词中进行搜索,我知道最快的方法是使用 SQL SERVER 2008 附带的 iFTS。
数据为土耳其语。我的意思是数据的语言是土耳其语。 SQL SERVER 2008 可以毫无问题地处理全文搜索,即使是土耳其语也是如此。
但是当我尝试列出全文单词时,问题发生了,如下所述:http://technet.microsoft.com/en-us/library/cc280900.aspx
从 sys.dm_fts_index_keywords 返回的单词列是 keyword 和 display_term。但这些列的字符集不正确。例如,土耳其语字符集中既有 ı 也有 i。类似地,o 和 ö、g 和 ğ。但是return这个词是ascii编码的。就像 kör 返回为 kor 一样,için 返回为 icin。
但是当我执行 CONTAINS 搜索时,SQL Server 正确匹配搜索词并返回真实结果。我的意思是使用 kör 和 kor 进行搜索会返回不同的结果,这是真实的行为。
所以我需要获取存储在 SQL 中的单词,而不是它们的 ASCII 表示形式。
我希望我能解释我的问题。
最佳答案
这似乎已在 SQL 2012 中修复...在 SQL 2012 中,查询 sys.dm_fts_index_keywords 返回的列、关键字和显示术语;现在正在返回正确的土耳其语单词...
关于sql-server - 全文关键字unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12911101/