描述:
我们在 PostgreSQL 9.3 上有一个表,我们将它(数据和结构)迁移到 Oracle 11.0.2.4。这是我们的表格:
create table cstb_temp_log
(
id NUMBER PRIMARY KEY,
log_info data_type(max_length) -- max_length < 10000
)
-- log_info : data is inserted/updated every second (**)
-- data_type: may be we can use "clob" because max_length of varchar2 in Oracle is 4000 (SQL).
-- cstb_temp_log : size = 1 GB, row = 400000
我们想在 log_info 列上索引和搜索“文本”,所以我们尝试了 Oracle Text 11g。
问题:
如果我们使用“data_type”是“clob”,我们可以使用“context index”并且它必须在 DML 之后同步。(我们不能使用这种方式,因为 (**) )
如果有的话,我们如何索引和搜索“log_info”列(max_length < 10000 并且数据每秒更改一次)?
我认为 @raj 在 11g 接近 EOSL 时转向 12C 提出了一个很好的建议。如果您正在考虑将 CLOB 与 Oracle 文本搜索结合使用,请考虑以下内容。
维护索引和同步 在 11g 中,用户可以在创建索引时指定索引更新首选项:手动、提交时或定期更新。用户还可以指定一个跨国文本索引,其中的文档在插入或更新后可以立即搜索到。请注意,目录索引类型 - 专门为电子商务目录中常见的短文本设计 - 始终是事务性的,不需要同步。
请阅读:http ://www.oracle.com/technetwork/testcontent/11goracletexttwp-133192.pdf (第 12 页)