0

如果我们已经有 CONTAINS,为什么还需要 FREETEXT?在 SQL Server 中,您能否给出我们可以使用的确切位置。

使用 FREETEXT 的语法与 CONTAINS 完全相同,所以当你需要做一个 CONTAINS 和 FREETEXT 时,

4

1 回答 1

1

FREETEXT不仅评估字符串,还评估含义。而CONTAINS用于对字符串进行精确或模糊搜索。

CONTAINS 和 FREETEXT 是非常相似的函数。两者都返回一个布尔值,并且都采用 2 个参数:自由文本索引列名称和自由文本搜索词。但他们的行为完全不同。

就像 larnu 所说,即使有时语法可以相同,但这并不意味着做同样的事情。

FREETEXT 是更具限制性的谓词,默认情况下会根据单词或短语的各种形式进行搜索(这意味着它默认包括屈折形式和词库)。

CONTAINS 与 FREETEXT 不同,让您可以灵活地分别进行各种形式的搜索。

以下博客向我们展示了一些示例,以便更清楚地了解如何通过 FREETEXT 和 CONTAINS 完成不同的搜索。这可以帮助您更好地了解 FREETEXT 和 CONTAINS。

参考:

  1. 按单个字符搜索时使用 FREETEXT 还是 CONTAINS Full Text Searches 更好
  2. 全文查询:CONTAINS 和 FREETEXT 谓词
  3. Sql Server 全文搜索 Protips 第 2 部分:CONTAINS 与 FREETEXT

HTH。

于 2020-12-24T01:58:49.863 回答