过滤

要避免对二进制数据建立索引(在 etx 搜索中无用),需要在对文档建立索引之前对其进行过滤。过滤是指去掉文档中的所有专用格式信息以使其文本内容保持为 ASCII 格式的过程。

例如,Microsoft® Word 文档通常会包含描述字体、段落样式、字符样式和文本布局的格式信息。虽然可以对该信息建立索引,但是对于要搜索文档内容的用户而言,它并不是很有用。 如果 etx 索引中包含该信息,那么索引的大小就会显著增大,并影响文本搜索的性能。过滤将除去所有这些信息,但保留标准 ASCII 文本。

要在列的过滤后文本上创建索引,需要在创建 etx 索引时指定 FILTER 索引参数。例如,在下面的语句中,在 my_table 表的 abstract 列上创建一个 etx 索引,并指定在将 abstract 列中的文档添加到索引之前对其进行过滤。
CREATE INDEX abstract_index ON my_table (abstract etx_clob_ops)
    USING etx (FILTER = 'STOP_ON_ERROR');