【发布时间】:2009-06-01 13:13:58
【问题描述】:
我想使用 SQL Server 2005 Express 查找与一段文本相关的前五个元组。我知道我可以使用全文索引和 CONTAINSTABLE 来查找包含确切短语的行,但是如何让它返回与段落中的单词最接近的匹配,而不是确切的段落本身。
到目前为止,我能想到的唯一方法是拆分 CONTAINSTABLE 查询,为每个空格字符插入 ' 或 ',按照以下内容生成查询,但我担心性能(和停用词)。
SELECT id, FT.rank, description
FROM SearchTable
INNER JOIN CONTAINSTABLE (SearchTable, *,
'"This" OR "is" OR "my" OR "paragraph"') AS FT
ON SearchTable.id = FT.[key]
ORDER BY Rank DESC
我希望这个问题有一个标准的解决方案 - 有人知道它是什么吗?
【问题讨论】:
-
嗯,我不知道有什么更好的方法,但是你正在考虑这样做的一个问题是你包含了所有真正常见的词,比如 is,和,我的,等等。
-
是的,这就是我所说的“停用词”
标签: sql-server sql-server-2005 full-text-search