**环境:**Oracle 19c
我们有一个系统,它使用Oracle Text(Oracle 19c)来索引存储为表中的B文件的PDF文件。我们使用Adobe Acrobat对PDF文件进行预处理以OCR PDF文件。大约一年前,OCR偶尔会将页面旋转90度或180度。这似乎是一个Adobe错误,因为它是可复制的。我们通知客户,他们需要在上传文档之前对其进行OCR,因为我们正在禁用OCR过程。我们现在正在对如何OCR文档的过程进行更改。因此,我们需要识别所有在Oracle Text索引中没有任何标记(单词)的文档,以便重新处理它们。我们的假设是,这些文档可能没有被客户OCR,因此无法使用Oracle Text进行搜索。
如何查询Oracle Text以查找没有任何索引标记的文档?
第二个问题:是否有一些方法来测试一个PDF文档,以检查它是否是OCR的?
表示例:
CREATE TABLE MY_SCHEMA.ORADOCS
(
DOC_ID NUMBER NOT NULL GENERATED BY DEFAULT ON NULL AS IDENTITY,
SUBJECT_OR_TITLE VARCHAR2(255 BYTE) NOT NULL,
DOC_DT DATE NOT NULL,
AUTHOR VARCHAR2(255 BYTE),
CREATE_DT DATE DEFAULT sysdate NOT NULL,
CREATE_USER VARCHAR2(100 BYTE) DEFAULT USER NOT NULL,
ORIG_FILENAME VARCHAR2(255 BYTE),
ORADOC_FILE BFILE
)
TABLESPACE MY_DOC
ALTER TABLE MY_SCHEMA.ORADOCS ADD (
CONSTRAINT ORADOCS_PK1
PRIMARY KEY
(DOC_ID)
USING INDEX MY_SCHEMA.ORADOCS_PK1
ENABLE VALIDATE);
CREATE INDEX MY_SCHEMA.AUTHOR_ORADOCS ON MY_SCHEMA.ORADOCS
(AUTHOR)
INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS('storage meta_storage memory 4G SYNC(ON COMMIT)');
CREATE INDEX MY_SCHEMA.ORADOC_FILE ON MY_SCHEMA.ORADOCS
(ORADOC_FILE)
INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS('storage meta_storage memory 6G SYNC(ON COMMIT)');
CREATE INDEX MY_SCHEMA.SUBJECT_ORADOCS ON MY_SCHEMA.ORADOCS
(SUBJECT_OR_TITLE)
INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS('storage meta_storage memory 4G SYNC(ON COMMIT)');
谢谢,瑞克
1条答案
按热度按时间kx5bkwkv1#
您可以查看CTX_USER_INDEX_WARNRS视图。当ctx_ddl.sync_index遇到内容问题时,会在此“表”上生成一个条目。
您有关于受影响的Oracle Text索引、时间戳、错误消息的信息,并且ERR_TEXTKEY值包含数据表中行的rowid。
希望这有帮助