2009-10-27 54 views
0

我正在为以下两个问题寻找答案(SQL Server 2000)。我有一个已编制索引的订单信息表,以便我可以搜索特定列上的数据。因此,一个例子查询我可能会遇到的是:在MS SQL 2000中自定义FreeTextTable

SELECT top 50 ft_tbl.*, key_tbl.Rank 
from OrderInfo as ft_tbl 
    INNER JOIN FREETEXTTABLE(OrderInfo, Address1, 'W Main St') as key_tbl 
    ON ft_tbl.OrderInfoID = key_tbl.[KEY] 
order by key_tbl.Rank desc 

什么我想到的是,SQL会拉,首先匹配“W MAIN ST”的一切,因为这将有最高等级,然后变化如下。但是,我的结果并不完全符合我的期望。以下是前8个结果排序由Rank:

  • 258 W MAIN圣
  • 4322ñ马歇尔圣
  • 221 MAIN ST
  • 320宽广的St
  • -7 S第三圣
  • 510 Bauerlein St
  • 175 Main Street
  • 108 Maywood St

(我知道为什么会这样,现在发生了,我假设我可以与下面的答案修复它)

问:是否有任何方式的变化来传递,其中圣可能是:

和W可能是

  • W¯¯
  • W.
  • 西

提前感谢! (凹凸)

+1

试着看一下这篇文章,这是非常相似,你的问题http://stackoverflow.com/questions/210094/why-or-how-does-freetexttable-give- a-rank-value-higher-then-others – 2009-10-27 20:56:55

+0

我已经做过。我只是想知道是否有一种方法可以检查问题。 – 2009-10-28 13:42:08

回答