【发布时间】:2016-05-16 01:40:42
【问题描述】:
我正在使用 Contains 函数在包含 PDF 或 Word 文档的 BLOB 字段中搜索字符串。最近我做了以下搜索:
SELECT doc_id
FROM table_of_documents
WHERE CONTAINS (BLOB_FIELD, 'SDS.IF.00005') > 0
大多数返回的记录都是正确的,但其中一些包含没有“SDS.IF.00005”但确实有“SDS.EL.00005”的 PDF。
当我说PDF没有搜索词时,我的意思是我在Adobe阅读器中打开它们并使用搜索功能和我自己的眼球搜索它们,并且非常熟悉文档的人坚持认为没有该词并且不应该在那里。
我尝试将这些点视为转义字符:SDS\\.IF\\.00005 和 {SDS.IF.00005}。但是,我仍然得到相同的结果。
我也尝试设置 CONTAINS (BLOB_FIELD, 'SDS.IF.00005') = 100,但我仍然得到包含 SDS.EL.00005 而不是 SDS.IF.00005 的文档。
搜索词中的点对 Oracle 来说是否意味着 SDS.%.00005?或者我应该研究如何在 Adobe 文档中找到肉眼或 Adobe 文本搜索功能看不到的深层隐藏文本?
感谢您的帮助。
【问题讨论】: