WEB开发网
开发学院数据库Oracle Oracle9i的全文检索技术 阅读

Oracle9i的全文检索技术

 2006-08-06 12:00:52 来源:WEB开发网   
核心提示: (7)过滤器(Filter)类过滤器确定如何过滤文本以建立索引,可以使用过滤器对文字处理器处理的文档、格式化的文档、纯文本和 HTML 文档建立索引,Oracle9i的全文检索技术(6),包括5个基本对象:CHARSET_FILTER、INSO_FILTER INSO、NULL_FILTE

(7)过滤器(Filter)类

过滤器确定如何过滤文本以建立索引。可以使用过滤器对文字处理器处理的文档、格式化的文档、纯文本和 HTML 文档建立索引,包括5个基本对象:CHARSET_FILTER、INSO_FILTER INSO、NULL_FILTER、PROCEDURE_FILTER、USER_FILTER。

(8)非索引字表(Stoplist)类

非索引字表类是用以指定一组不编入索引的单词 (称为非索引字)。有两个基本对象:BASIC_STOPLIST (一种语言中的所有非索引字) 、 MULTI_STOPLIST (包含多种语言中的非索引字的多语言非索引字表)。

5 查询

建立了索引,就可以使用 SELECT 语句中的 CONTAINS 运算符发出文本查询。使用 CONTAINS 可以进行两种查询:单词查询和ABOUT查询。

5.1 词查询示例

词查询是对输入到 CONTAINS 运算符中单引号间的精确单词或短语的查询。在以下示例中,我们将查找文本列中包含 oracle 一词的所有文档。每行的分值由使用标签 1 的 SCORE 运算符选定:

SELECT SCORE(1) title from news WHERE CONTAINS(text, 'oracle', 1) > 0;

在查询表达式中,可以使用 AND 和 OR 等文本运算符来获取不同结果。还可以将结构性谓词添加到 WHERE 子句中。可以使用 count(*)、CTX_QUERY.COUNT_HITS 或 CTX_QUERY.EXPLAIN 来计算查询的命中 (匹配) 数目。

5.2 ABOUT查询示例

在所有语言中,ABOUT查询增加了某查询所返回的相关文档的数目。在英语中,ABOUT 查询可以使用索引的主题词组件,该组件在默认情况下创建。这样,运算符将根据查询的概念返回文档,而不是仅依据所指定的精确单词或短语。例如,以下查询将查找文本列中关于主题 politics 的所有文档,而不是仅包含 politics 一词的文档:

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Oraclei 全文检索 技术

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接