我已经为此寻找答案,我似乎无法找到应该有些简单的答案。
这与another question I asked有关,但它有所不同。获取用户搜索短语并将其放入CONTAINSTABLE(table, column, @phrase, topN )
短语的最佳方法是什么?
比方说,例如用户输入:Books by "Dr. Seuss"
最好的方法是将其转换为会在ContainsTAble()
短语中返回结果的内容吗?
我之前正在解析搜索短语并将ISABOUT("Books" WEIGHT(1.0), "by" WEIGHT(0.9), "Dr. Seuss" WEIGHT(0.8))
写成{@ 1}}作为我的@phrase,但ISABOUT似乎正在返回奇怪的结果...尤其是当输入一个单词时。
任何想法?
答案 0 :(得分:0)
我们在this article on SQL Server Central中实现了稍微修改过的代码版本。它使用Codeplex的Irony Compiler Construction Kit。
在使用保留字启动任何搜索查询时,原始版本中存在错误。例如,通过搜索“Orange”,它将识别OR项并期望未提供的二进制操作数。这在文章的讨论论坛中提供的一些代码中得到修复,该代码现在最多13页!