全文未返回预期结果

时间:2013-03-07 16:57:54

标签: sql-server tsql full-text-search

我对目前遇到的这个问题感到非常困惑。

我以前从未见过这种情况......并且不知道为什么会这样做。

SELECT DISTINCT p.MY_ID , MY_NAME
FROM MYTABLE p
WHERE CONTAINS( (p.MY_NAME), '"nn11"' );

my_name列是全文索引和varchar(100)

  • nn11 - 我得到15个结果,其中包含11,但名称中没有nn个字符...
  • n11 - 我得到0结果
  • 11我得到与nn11
  • 相同的15个结果

问题是,结果中的任何地方都没有n个字符,所以从技术上讲,我应该在所有计数上得到0个结果,但事实上我得到的结果有些时候对我来说没有意义......

我需要重建索引吗?它有可能被腐蚀吗?

提前致谢

这是附加信息

这些是我目前得到的结果......对于nn11和11,但n11的结果为0 ...

MYID    MYNAME
------- ------- 
18546   11
18693   11
18747   11
18781   11
18799   11
18800   11
18873   11
18958   11
18989   11
18993   11
19069   11
19122   11
19124   11-B
19186   11-A
19407   11-A

以及每次运行的结果:

nn11 - 0x006E006E00310031  1 0 1 Exact Match    nn11    0   nn11
n11 -  0x006E00310031      1 0 1 Exact Match    n11     0   n11
11-    0x00310031          1 0 1 Exact Match    11      0   11
       0x006E006E00310031  1 0 1 Exact Match    nn11    0   11

1 个答案:

答案 0 :(得分:0)

数字实际上存储在带有nn前缀的FTI中,这解释了为什么搜索nn11会返回与11相同但不是n11的结果。似乎没有直接的解决方法,但http://social.msdn.microsoft.com/Forums/en-US/sqlsearch/thread/8592ea09-fcfb-4fec-a3a4-5e03dedcee3a/

描述了一种解决方法
相关问题