Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - SQL 用法 » 查询和数据修改 » 全文搜索 » 全文搜索的类型

 

邻近搜索

全文搜索功能允许搜索某一列中相互邻近的多个术语。这称为邻近搜索。要执行邻近搜索,应指定关键字 NEAR 或者代字号 (~) 在其中间的两个术语。

可将整型参数与 NEAR 关键字配合使用来指定最大距离。例如,term1 NEAR[5] term2 查找位于 term2 的五个术语范围内的 term1 的实例。术语的顺序并不重要;'term1 NEAR term2' 等效于 'term2 NEAR term1'

如果不指定距离,数据库服务器将使用 10 作为缺省距离。

还可以指定代字号 (~) 取代 NEAR 关键字。例如,'term1 ~ term2'。但是,在使用代字号格式时无法指定距离;此时应用十个术语的缺省值。

不能将短语指定为邻近搜索中的参数。

在使用 NGRAM 文本索引的邻近搜索中,如果指定前缀术语作为参数,则邻近搜索转换为 AND 表达式。例如,对于 3 元语法词文本索引,搜索 ['red NEAR[1] appl*'] 相当于搜索 ['red AND "app ppl"']。由于这不再是邻近搜索,所以在 CONTAINS 子句中指定了多列的情况下搜索不再限于单一列。

 示例