2010-03-19 50 views
1

希望你没事。我必须建立一个Web项目(非常简单)我将拥有一个带有2个表的数据库。一张桌子有两个字段。 从网页我需要一个谷歌喜欢的搜索查询,例如我有表格上的电影标题和电影评论。 我需要能够搜索到的2场是这样的:C# - Google like query engine.-

"Best Movie" + Action 

我将需要查询的数据库搜索上的2场“最佳电影”串togheter加上任选的操作字表。

我清楚吗? :)

是否有人知道这是否已经作出,如果it's公众和自由,在哪里得到它:)

编辑: 我关心的是对谷歌像符号转换( “”,+, - ,〜)构建一个有效的查询。

+0

请提供一个清晰的输入+查询+输出示例 – thelost 2010-03-19 14:40:49

回答

8

像Google一样,听起来好像你想要一个information retrieval引擎。你可能要考虑:

对于你在做什么,它听起来就像SQL Server全文索引将工作很好 - 如果你发现自己想要做更复杂的事情,那么我建议你看看Lucene--它更复杂,而且你需要创建自己的索引,但是这样做的额外控制意味着你可以执行远程更复杂的搜索。

要了解有关SQL Server全文索引的更多信息,您最好不要进行谷歌搜索。

这篇文章可以帮助您开始:

+0

另外 - 值得指出的是,AjmeraInfo的解决方案要简单得多,并且应该做到这一点,但是您会发现查询对于较大的数据库来说有点慢。 – Justin 2010-03-19 14:46:26

1

只是用这样的查询

首先你需要的字符串操作在C#中再通的价值。

 
SELECT [Movie Title] FROM Movie_TABLE WHERE 
Movie_Review Like '%' + 'Best Movie' + '%' And Movie_Review Like '%' + 'Action' + '%' 

,或者您需要与

 

DECLARE @qu nvarchar(max) 

SET @qu = 'Query' 

Exec (@qu) 

创建动态查询你也可以传递参数的动态执行。