我有一个非常庞大的数据库,有数十亿字。我需要搜索这些单词,我知道的最快的方法是使用SQL SERVER 2008附带的iFTS。
数据是土耳其语。我的意思是数据的语言是土耳其语。 SQL SERVER 2008处理全文搜索没有问题,即使是土耳其语。
但是当我尝试按照此处所述列出全文字时会出现问题:http://technet.microsoft.com/en-us/library/cc280900.aspx
sys.dm_fts_index_keywords 返回的字词是关键字和 display_term 。但是这些列的字符集不正确。例如,土耳其字符集中有ı和i。同样o和ö,g和ğ。但是返回的单词是ascii编码的。像kör一样返回 kor ,için返回 icin 。
但是当我进行CONTAINS搜索时,SQL Server会正确匹配搜索词,返回true结果。我的意思是用kör和 kor 进行搜索会返回不同的结果,这是真实的行为。
所以我需要得到它们存储在SQL中的单词,而不是它们的ascii表示。
我希望我能解释一下我的问题。
答案 0 :(得分:2)
似乎已在SQL 2012中修复了...在SQL 2012中,查询sys.dm_fts_index_keywords返回的列,关键字和显示术语;现在正在返回正确的土耳其语单词......