本文内容
对于 Oracle 文本,你可以使用 CREATE INDEX 创建很多类型的索引。下面描述每个索引类型,以及他们的目的和支持的特性。
CONTEXT 索引
CTXCAT 索引
CTXRULE 索引 CTXXPATH 索引
CONTEXT
描述
当你的文本是由大的、连续的文本组成时,可以使用该索引建立文本检索应用程序。你能为不同格式的文件建立索引,如 MS Word、HTML 或 纯文本。
你可以以不同方式自定义索引。
该类型索引在基表上执行 DML 后要求 CTX_DDL.SYNC_INDEX 。
支持的 preferences 和 parameters
除了 INDEX SET,支持所有的 CREATE INDEX preferences 和 parameters。
这些支持的参数包括索引分区子句(index partition clause)、格式(format)、字符集(charset)和语言列(language columns)。
查询运算符
CONTAINS
语法称为 CONTEXT 语法,它支持很多操作。
CTXCAT 语法则可以带模板查询。
注意
支持所有的文本服务和查询服务。
支持分区文本表的索引。
支持 CREATE INDEX 的 FILTER BY 和 ORDER BY 子句,也可以索引结构化列值,更有效地处理混合查询。
CTXCAT
描述
使用该索引类型能够获得更好地混合查询性能。通常情况下,对于该索引,你可以为小文本或文本片段建立索引。例如,在基表的其他列上,如条目名、价格和描述,可以包含在索引中,以提高混合查询性能。
该索引类型在 DML 后是事务性、自动更新的,而不需要 CTX_DDL.SYNC_INDEX。
支持的 preferences 和 parameters
INDEX SET
LEXER
STOPLIST
STORAGE
WORDLIST (仅 prefix_index 属性支持日语数据)。
不支持格式(Format)、字符集(charset)和语言列。
不支持表和索引分区。
查询运算符
CATSEARCH
语法称为 CTXCAT,它支持逻辑运算符,短语查询和通配符。
CONTEXT 语法可以带模板查询。
支持主题查询。
注意
该索引较大,并且创建时间比 CONTEXT 长。
CTXCAT 索引的大小与文本总量大小、索引集中的索引数量和索引列的数量有关。在向索引集添加索引前,仔细考虑你的查询和资源。
CTXCAT 索引不支持表和索引分区,文本服务(高亮、标记、主题和概要),或查询服务(解释、查询反馈和浏览词)。