在MS SQL 2000中自定义FreeTextTable

时间:2009-10-27 20:48:39

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

我正在寻找以下2个问题(SQL Server 2000)的答案。我有一个索引的订单信息表,以便我可以搜索特定列的数据。因此,我可能运行的示例查询是:

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”相匹配的所有内容,因为那将具有最高等级,然后是变化。但是,我的结果并不完全是我所期待的。以下是Rank排名的前8名结果:

  • 258 W Main St
  • 4322 N Marshall St
  • 221 Main St
  • 320 Broad St
  • 7 S 3rd St
  • 510 Bauerlein St
  • 175 Main Street
  • 108 Maywood St

(我知道为什么现在会发生这种情况,我假设我可以通过以下答案解决这个问题)

问题:有没有办法传递St可能的变体:

  • ST
  • ST

W可能

  • w ^
  • W上。
  • 西

提前致谢! (凸块)

1 个答案:

答案 0 :(得分:0)

不确定您是否遇到过此问题的答案,但我认为可以使用Contains子句来考虑这些变化。这两者都提供了相当不错的资源。

http://www.eggheadcafe.com/articles/20010422.asp

http://en.wikipedia.org/wiki/SQL_Server_Full_Text_Search#Inflectional_Searches