我有一个用户输入处理器,可以将 this search
转换为 "this"AND "search"
。我的处理器运行良好,它根据我认为的分词器
(包括标点符号)将用户输入分成几部分。
问题在于,在建立索引时,Sql Server 在处理数字时采用了一种特殊的方法。
如果索引以下字符串:
12,20.1231,213.23,45,345.234.324.556,234.534.345
它将找到以下索引键:
12
1231
20
213
23,45 (detected decimal separator)
234.534.345 (detected thousand separator)
345.234.324.556 (detected thousand separator)
现在,如果用户搜索 324
他/她将找不到任何东西,因为 324
包含在最后一个条目中,而不是开头,所以它不会被发现。我希望它停止将数字视为数字,而只是按照处理单词的方式对其进行索引。
有没有办法改变这种行为?无需实现太多代码?
最佳答案
不确定我是否正确理解了这个问题,但是如果您说 SQL 正在查找数字,那么它应该在哪里找到字符串然后将它们转换为字符串似乎是解决方案。
select cast(345234324556 as nvarchar)
关于sql - 有没有办法让 Sql Server FullText 引擎停止将数字识别为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12974793/