我正在尝试使用SQL Server的全文索引。这对任务来说似乎很完美,但我的客户想要的是一个类似Google的结果摘要,其中结果显示了围绕搜索词的文本摘录。
如果我搜索“房子”......
My House Is a Very, Very, Very Fine House
...感谢今天来参观我们的房子 ...你不喜欢这个房子 ......嘿,你为什么要点燃我的房子?...
如果他们的搜索字词与搜索匹配的内容完全匹配,那么这并不难。您可以简单地对文本进行一些繁琐的解析来生成提取。
但屈折和干涸会发生什么?如果我搜索“walk”,查询可能会出现“walk”,“walked”等。我需要确切地知道它所搜索的搜索结果中的 字,所以我会知道从哪里开始我的提取。
对于某些商业产品附加组件来说,这个区域似乎已经成熟,或者可能有一种优雅的方式可以做到这一点我不考虑?
(而且,是的,我们知道GSA和Google Mini。有一些微妙的原因可能导致它们在这种情况下不起作用,所以我们首先尝试SQL FTI。)
答案 0 :(得分:1)
如果使用SQL 2008,我猜你可以使用sys.dm_fts_parser - 发送你的最终搜索字符串(添加任何FORMSOF等)。这将返回一个单词列表,然后您可以使用它来突出显示页面上的文本(使用jquery插件进行突出显示,任何单词都不会突出显示)