3

我已经使用 CONTAINSTABLE 关键字在 SQL Server 2005 数据库上实现了全文搜索。我想知道如果原始查询没有产生任何结果,是否有办法添加“听起来像”或谷歌的“你的意思是那个”功能。

4

3 回答 3

2

SQL Server 的 soundex 非常有限且令人沮丧,我真的建议你看看 Lucene.net http://incubator.apache.org/lucene.net/。Lucene 是一个高性能、全功能的文本搜索引擎库,在 .NET 项目中也很容易使用。如果您的应用程序需要一个严肃的搜索引擎,请使用 Lucene。

从http://lucene.apache.org/java/docs/features.html检索到的一些特性:

  • 排名搜索,最佳结果
  • 返回第一个许多强大的查询
  • 类型:短语查询、通配符
  • 查询、邻近查询、范围
  • 查询和更多领域的搜索(例如,标题、作者、内容)
  • ate-range 搜索按任何排序
  • 字段多索引搜索
  • 合并的结果允许同时
  • 更新和搜索
于 2009-05-31T02:23:36.607 回答
0

SQL Server 具有SOUNDEXDIFFERENCE函数

这个相关的 SO 答案可能很有用:如何使 sql 搜索查询更强大?

于 2009-05-31T01:59:30.507 回答
0

如果您希望能够做到这一点,您需要规范化原始文本和查询。简单的示例,如果您希望能够搜索 SOUNDEX 类型的值,则需要对查询字符串和要查询的原始原始数据进行 SOUNDEX。您无法即时有效地处理查询空间,因此您可以在创建索引期间对其进行规范化。

从技术上讲,您只需要规范化实际索引,而不是数据,但由于您的数据可能是您的索引,因此需要对其进行规范化。

这与单词的“词干”、删除复数等相同的过程。

于 2009-05-31T02:42:12.043 回答