【问题标题】:Implement full text search for searching multiple Keywords实现搜索多个关键字的全文搜索
【发布时间】:2013-04-08 08:05:13
【问题描述】:

我已经在我的应用程序中实现了全文搜索,以便从我的数据库中的表中搜索关键字。现在我想扩展对多个单词的搜索。我用谷歌搜索但没有得到我想要的答案。谁能告诉如何扩展多个关键字的搜索。

查询

select ProductCode,CategorySequenceNumber from tblProductMaster where Contains(*,@stringToSearch)

任何建议都会被采纳..

【问题讨论】:

  • 我不明白你的问题。你在哪里需要帮助?关于在表单中输入多个关键字的字段?
  • @LukeMarlin 我希望查询实现它。
  • @LukeMarlin 你的答案是 k.but 告诉我如何修改上述查询..
  • 您不必修改它。您只需更改您在查询中输入的参数。

标签: c# asp.net sql-server


【解决方案1】:

根据您想要的行为传递以“AND”或“OR”分隔的关键字:

SET @stringtosearch = '"this" AND "word" OR "test"'

【讨论】:

  • 这是正确答案。另外不要忘记注意停用词,例如有人在寻找“这是一个测试”,如果你只是Replace " " with " AND ",你将拥有"this AND is AND a AND test",由于stop words,它将返回0 个结果。为了解决这个问题,SO 和搜索引擎上有很多答案。
  • @Seph 我知道卢克的答案是正确的。但我需要修改上面的查询(有问题),这样如果我在文本框中输入多个 woprd,它可以搜索并给我一些结果。而且我的问题是在 sqlserver 中,而不是在 tsql 中。
  • 无论是简单的 SQL 还是 TSQL,你只需要通过给它你的单词来改变参数,用布尔运算符分隔。
【解决方案2】:

您可以将空格处的搜索文本拆分为字符串数组,然后搜索每个元素。

【讨论】:

    【解决方案3】:

    使用 FREETEXT 函数而不是 CONTAINS。用空格分隔关键字。

    【讨论】:

      猜你喜欢
      • 2021-10-24
      • 2014-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 2013-03-25
      • 1970-01-01
      相关资源
      最近更新 更多