【发布时间】:2010-06-29 17:08:15
【问题描述】:
假设我将以下字符串存储在具有全文的列中:
xx 3 555 7 4
我的问题是为什么使用 FREETEXT 搜索单词“555”不会返回任何内容
【问题讨论】:
-
在您的示例中看不到任何表明它不应该的内容。你能发布你正在运行的确切查询吗?
标签: sql-server sql-server-2008 full-text-search
假设我将以下字符串存储在具有全文的列中:
xx 3 555 7 4
我的问题是为什么使用 FREETEXT 搜索单词“555”不会返回任何内容
【问题讨论】:
标签: sql-server sql-server-2008 full-text-search
您不能对数字使用全文搜索 :( 您可以尝试使用 LIKE,尽管性能可能是一个问题。您可以尝试的另一件事是将搜索词封装在双引号中,尽管我不认为这将对您有所帮助。
您可以尝试的另一件事...将“NN”添加到搜索词的开头。因此,不要搜索“555”,而是尝试搜索“NN555”。假设 MS 确实将数字单词存储在索引中,但它附加了“NN”。那是在 SQL 2005 中。我不知道它在 2008 年是否仍然适用。
【讨论】:
尝试使用 LANGUAGE [NEUTRAL] 选项创建全文索引。
http://msdn.microsoft.com/en-us/library/ms187317.aspx
Create Fulltext Index On YourTable (YourColumn Language [Neutral])
Key Index YourKey;
【讨论】: