Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery SQL全文搜索和突出显示结果_Jquery_Asp.net_Tsql_Sql Server 2008 - Fatal编程技术网

Jquery SQL全文搜索和突出显示结果

Jquery SQL全文搜索和突出显示结果,jquery,asp.net,tsql,sql-server-2008,Jquery,Asp.net,Tsql,Sql Server 2008,我在SQL Server中有一个具有以下结构的表: Students ( StudentId bigint, FullName nvarchar(100), DegreeId smallint, Articel nvarchar(max) ) 我已经创建了一个全文索引,并为“学生”表启用了它 在我的asp.net页面中,用户键入单词,我使用这些单词调用存储过程过滤器 Create Procedure GetStudents(@Article nvarchar(

我在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)中突出显示(黄色背景)返回学生的“文章”

任何建议


感谢StackOverFlow

请参见此处

我认为您将很难获得一个完美的高亮显示系统,因为SQL Server将在
自由文本
查询中匹配单词变体。如果你想变得近乎完美,你可以自己做(或使用别人的)来生成单词变体

如果您想尽最大努力,可以将查询嵌入(隐藏在一个输入字段中或作为查询字符串上的散列),然后执行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>");
});
$(文档).ready(函数(){
//将单词设置为循环列表或JSON集合
$(“#resultcontainer”).innerHTML.replace(word,“+word+”);
});

您可能也可以在服务器端轻松完成此操作,而不必担心jQuery会拾取页面中可能与查询词匹配的元素。在这种情况下,您只需在服务器代码(VB或C#)上执行类似于javascript的搜索和替换操作。

试试这可能会对您有所帮助


谢谢。实际上,我正在考虑用“%word%”之类的搜索,但我不知道怎么做我有一个单词列表如果你有一个单词列表,你将不得不
大量
之类的
求值,这可能会导致非常慢的查询。就性能而言,通过全文搜索,您已经走上了正确的道路。下面是波特词干算法的C#实现:。您可以使用它根据简单的查询词生成要突出显示的词。