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

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 查询和修改数据 » 全文搜索 » 如何执行全文搜索

 

邻近搜索

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

对于 NEAR 关键字,可以指定一个整型变量来定义最大距离。例如,term1 NEAR[5] term2 查找位于 term2 的五个术语范围内的 term1 的实例。术语的顺序并不重要;'term1 NEAR term2' 等效于 'term2 NEAR term1'

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

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

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

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

 示例