Sql Full Text关键字搜索 - 包含或不包含

时间:2014-11-15 13:17:34

标签: sql join full-text-search

您好我被要求升级我们网站的关键字搜索部分。它需要像图片中那样。 enter image description here

用户可以从选择框中选择两个不同的选项,它指的是我的全文索引列。然后他/她输入一个pharese或单词并说添加。它转到“包含框”,这意味着搜索结果需要包含该单词。如果用户将其拖动到另一个框,则搜索结果不应包含该单词。 我做了一些事情。但我关注的是性能。这些搜索平均每15秒进行一次,表中有大约3000万条记录。 这就是我所做的:

INNER JOIN CONTAINSTABLE (FullTextDB,column1,'"software developer*"') ka on a.refnumber = ka.[key] 
left JOIN CONTAINSTABLE (FullTextDB,column1,'"mvc*" ') ri on a.refnumber = ri.[key]
INNER JOIN CONTAINSTABLE (FullTextDB,column2,'"php*" ') yer on a.refnumber = yer.[key] 

WHERE  ri.[key] is null

它带来了正确的结果,但我怎样才能改善这一点。我使用左连接来排除。有任何想法吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

对搜索关键字进行分组可以提高效果

示例

"(A OR B) AND NOT (C)"