搜索SQL Server数据库并获取句子的一部分,与关键字匹配

时间:2016-03-03 05:00:29

标签: sql sql-server sql-server-2005 sql-server-2008-r2

我使用简单的搜索SQL在表中搜索匹配的搜索关键字或字符串。

我想要像BBC搜索http://www.bbc.co.uk/search?q=florida

这样的东西

它会在匹配的关键字周围找到文字。

例如,我有一个News表,我需要在匹配关键字周围获得10个字。

NewsID Title      Detail
1      xxxx       <p> Hello How are you! is this the word you are looking for.</p>
2      yyyy       <p> this is the detail of second news of today. </p>

现在我使用简单的select语句进行搜索

SELECT * 
FROM News 
WHERE Detail LIKE '%word%'

这与第一行匹配。

现在我需要在&amp;之前得到两三个字。在匹配关键字之后

Is this the word you are

不确定如何不使用SQL Server函数或CTE查询。

我们可以使用C#&amp; amp;正则表达式,但这将太重,因为搜索必须经过数千条记录,而新闻表的Details列每个新闻项最多可包含1000个字或更多。

只想提一下我在服务器上没有FreeText搜索选项

感谢指针以最佳方式解决此问题。优化方式

0 个答案:

没有答案