我在SQL Server中有一个结构表:
Students
(
StudentId bigint,
FullName nvarchar(100),
DegreeId smallint,
Articel nvarchar(max)
)
我创建了一个全文索引并为“学生”表启用了它。
在我的asp.net页面中,用户输入单词并使用这些单词调用存储过滤器学生。
Create Procedure GetStudents(@Article nvarchar(200)=typed words)
AS
BEGIN
SET NOCOUNT ON
SELECT StudentId,FullName,DegreeId,Article
FROM Students
WHERE WHERE FREETEXT(Article,'''+ @Article+''')
END
搜索工作正常,现在我需要在我的asp.net页面(通过jquery或asp.net)突出显示(黄色背景)返回的stuents的“文章”。
任何建议。
感谢StackOverFlow
答案 0 :(得分:0)
答案 1 :(得分:0)
我认为您将很难获得完美的突出显示系统,因为SQL Server将匹配FREETEXT
查询中的字词变体。如果你想要近乎完美,你可以自己做(或使用某人)stemming algorithm来生成单词变体。
如果你想尽最大努力,可以嵌入查询(在隐藏的输入字段中或作为查询字符串的哈希),然后像这样进行javascript搜索和替换:
$(document).ready(function() {
// Set up words, either as a list you loop through or a JSON collection
$("#resultsContainer").innerHTML.replace(word, "<span class='highlight'>" + word + "</span>");
});
你可以很容易地做这个服务器端,而不必担心jQuery拾取可能与查询单词匹配的页面元素。在这种情况下,您只需在服务器代码(VB或C#)上执行类似于javascript的搜索和替换。
答案 2 :(得分:0)
试试这可能会对你有帮助