我正在尝试使用 SQL Server 的全文索引的想法。它似乎非常适合这项任务,但我的客户想要的是一个非常像 Google 的结果摘要,其中结果显示文本的摘录围绕他们的搜索词.
如果我搜索“房子”...
我的房子是一栋非常非常非常好的房子 http://fakelink
...感谢您来参观我们的house今天……你不喜欢这个吗house……嘿,你为什么要放火烧我的house?...
如果他们的搜索词与搜索结果完全匹配,这并不太难。您可以简单地对文本进行一些繁琐的解析来生成摘录。
但是屈折变化和词干会发生什么呢?如果我搜索“walk”,查询可能会命中“walking”、“walked”等。我需要确切地知道what它命中的搜索结果中的单词,所以我知道从哪里提取。
这个领域对于一些商业产品附加组件来说似乎已经成熟,或者也许有一种我没有考虑的优雅的方式来做到这一点?
(是的,我们知道 GSA 和 Google Mini。有一些微妙的原因导致它们在这种情况下可能不起作用,所以我们首先尝试 SQL FTI。)
如果使用 SQL 2008 ,我想您可以使用 sys.dm_fts_parser - 发送您的最终搜索字符串(添加任何 FORMSOF 等)。这将返回一个单词列表,然后您可以使用它来突出显示页面上的文本(使用 jquery 插件来突出显示,任何找不到的单词都不会突出显示)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)