需要有关 Sql Server 全文搜索问题的帮助
Posted
技术标签:
【中文标题】需要有关 Sql Server 全文搜索问题的帮助【英文标题】:Need help with Sql Server Full Text Search problem 【发布时间】:2009-04-21 12:57:34 【问题描述】:我在单个表上有一个Full Text Catalog
,定义了三个字段:-
TABLE: Animals
Fields: Name, Breed, LatinName.
现在,目录似乎运行良好。
例如。
CREATE FUNCTION AnimalSearch
(
@Name NVARCHAR(200)
) RETURNS TABLE AS
RETURN
(
SELECT KEY_TBL.[Key] as Name,
KEY_TBL.RANK as Relevance
FROM CONTAINSTABLE(Animals, Name, @Name) AS KEY_TBL
)
现在,当我运行它时,我得到以下结果:- 姓名 = ma(无结果) 名称 = 垫子(无结果) 名称 = matt(1 个结果 - 正确)。
SELECT * FROM [dbo].[AnimalSearch]('ma')
这是正确的使用方法吗?我也试过用FREETEXTTABLE
替换CONTAINSTABLE
.. 同样的事情.. 没有结果。
有什么想法吗?
编辑
我知道这可以在存储过程中实现。我希望将其作为表值函数来执行,因此我可以在某些 Linq2Sql 中使用它。如果真的表现不佳,请说出来。
【问题讨论】:
【参考方案1】:不确定这是个好主意。表值函数不存储统计信息,因此性能可能会受到影响。
【讨论】:
我同意米奇的观点。存储过程可以为您提供更好的性能。 嗯。我希望做一个表值函数,因为我可以在 Linq2Sql 中使用它。以上是关于需要有关 Sql Server 全文搜索问题的帮助的主要内容,如果未能解决你的问题,请参考以下文章