我想运行一个搜索与MSSQL全文引擎给出以下用户输入:“好莱坞广场”
我希望结果中既有好莱坞也有广场。
我可以在web服务器(C#,ASP.NET)上创建一个方法来动态地生成如下的sql语句:
SELECT TITLE
FROM MOVIES
WHERE CONTAINS(TITLE,'"hollywood*"')
AND CONTAINS(TITLE, '"square*"')很简单。但是,为了提高添加参数的速度和安全性,我希望在存储过程中这样做。
我可以既吃蛋糕又吃蛋糕吗?
发布于 2009-02-17 19:44:08
我同意上面的,调查和条款。
SELECT TITLE
FROM MOVIES
WHERE CONTAINS(TITLE,'"hollywood*" AND "square*"')然而,你不应该拆分输入的句子,你可以使用变量
SELECT TITLE
FROM MOVIES
WHERE CONTAINS(TITLE,@parameter)顺便说一下,搜索精确的术语(包含)搜索短语(freetext)中的任何术语
发布于 2009-02-10 08:38:21
上一次我不得不这样做时(使用MSSQL Server2005),我最终将整个搜索功能转移到了Lucene ( Java版本,尽管我相信Lucene.Net现在已经存在了)。我对全文搜索寄予厚望,但这个特定的问题让我非常恼火,以至于我放弃了。
发布于 2009-02-17 05:36:45
您是否尝试过在字符串中使用AND逻辑运算符?我将一个原始字符串传递给我的存储过程,并在两个单词之间添加' and‘。
http://msdn.microsoft.com/en-us/library/ms187787.aspx
https://stackoverflow.com/questions/521270
复制相似问题