Oracle 全文检索可以建立文本查询应用程序和文档分类应用程序。它提供索引、文字和主题搜索,以及文档浏览功能。设计一个 Oracle
本文内容
Oracle 全文检索可以建立文本查询应用程序和文档分类应用程序。它提供索引、文字和主题搜索,以及文档浏览功能。
设计一个 Oracle 全文检索应用程序,先要确定你想执行什么样的查询,以便选择最合适的索引。
因此,利用 Oracle 全文检索,我们建立以下三种应用程序:
文档收集应用程序
“文本查询应用程序”可以使用户搜索文档集合,例如,一个 Web 站点,数字图书馆,或是文档仓库。该文档集合通常是静态的,当初始建立索引后,内容没有显著的变化。文档可以任意大小、任意格式的 HTML、PDF 和 MS Word 文档。这些文档存储在表中。通过索引来搜索。
通常,查询由字或词组组成。用户可以通过例如 OR 和 AND,指定文字和词组的逻辑关系。其他查询运算符,,如词干(stemming)、接近搜索(proximity searching)和通配符(wildcarding),用于改进搜索结果。
这种类型应用程序的一个重要因素是,搜索到相关的文档,也要尽可能搜索相关性小的文档。最相关的文档必须被排在结果列表中。
CONTEXT 索引为这种类型的应用程序提供最好的支持。若搜索该索引,在 SELECT 语句的 WHERE 子句使用 CONTAINS 运算符。
图1 文本查询应用程序在文档集合上,一个典型的文本查询应用程序让用户输入一个查询。应用程序进入 CONTAINS 查询,并返回满足查询的一个列表,称为“命中列表(hitlist)”。结果通常按相关性排列。应用程序可以使用户在命中列表中浏览一个或多个文档。
例如,一个应用程序在 WWW 为 URLs(HTML 文件)建立索引,通过索引集,提供查询功能。应用程序查询返回的命中列表是由用户可访问的 URLs 组成。
下图说明对于一个在线电子商店,文本搜索应用程序的流程:
图2 文本搜索应用程序流程