我有一个带有简单搜索文本框的asp.net网页,该文本框从MSSQL 2005数据库返回匹配行。它目前使用LIKE语句来恢复匹配,但强制用户键入一个精确的短语。用户希望获得更多的Google搜索类型体验,因此我决定使用FTS设置和索引所需的表格。SQL 2005全文搜索:如何将所有用户搜索词默认为CONTAINS NEAR类型FTS搜索
我希望用户搜索单词或单词用于CONTAINS搜索中,并用NEAR将他们键入的每个单词分隔到文本框中。我是一名新开发人员,不知道如何执行此操作,或者是否已有内置函数来解决此问题。
因此,举例来说,如果用户键入 “索耶汤姆” 在搜索框中的查询应该是这样的功能:
SELECT的BookID,BOOKTITLE FROM tblBooks WHERE CONTAINS(BOOKTITLE,“索耶NEAR汤姆)
,并返回:
12032目前使用类似的语句我现在用户搜索将找不到匹配的的汤姆·索亚
冒险。
如果用户键入简单索耶查询应该简单的功能是这样的:
SELECT的BookID,BOOKTITLE FROM tblBooks WHERE CONTAINS(BOOKTITLE, '索亚')
返回:
12032汤姆索亚历险记 72192 Roy Crane的Buz Sawyer:太平洋战争(第1卷)
我现在的代码只是插在t他搜索字符串像这样的查询:
SELECT的BookID,BOOKTITLE FROM tblBooks WHERE CONTAINS(BOOKTITLE,@Search)
这显然是行不通的。如何将每个单词与NEAR自动分开?
非常感谢您提供的帮助!
-David