我使用简单的搜索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
搜索选项
感谢指针以最佳方式解决此问题。优化方式