我在单个表上有一个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(无结果) 名字=席子(没有结果) Name = matt(1结果 - 正确)。
SELECT * FROM [dbo].[AnimalSearch]('ma')
这是使用它的正确方法吗?我也尝试用CONTAINSTABLE
替换FREETEXTTABLE
..同样的事情......没有结果。
任何想法,任何人?
我知道这可以在存储过程中实现。我希望这样做是一个表值函数,所以我可以在一些Linq2Sql中使用它。如果它真的没有意义,请说出来。
答案 0 :(得分:1)
不确定这是个好主意。表值函数不存储统计信息,因此性能可能会受到影响。