我正在使用 FScrawler (2.7) 将 PDF 中的文本加载到 Elasticsearch (7.6.X) 中。大多数 PDF 文件都有文本,但有些 PDF 文件包含扫描文本的图像,需要进行 OCRed。有没有办法配置 FScrawler,例如它只对包含扫描文本图像的 PDF 文件执行 OCR,而不是对已经有文本的文件执行 OCR?
到目前为止,我可以将其配置为不对任何文件进行 OCR(案例 1)或对所有文件进行 OCR(案例 2)。在第一种情况下,FScrawler 会跳过所有带有扫描文本图像的文件,但会非常快速地加载所有带有文本的文件。在第二种情况下,它需要很长时间,因为它对所有文件进行 OCR,包括那些已经有文本的文件。
这是 FScrawler 的 OCR 选项设置: https ://fscrawler.readthedocs.io/en/latest/user/ocr.html
案例1的配置:
name: "Case 1"
fs:
url: "/path/to/data/dir"
ocr:
enabled: false
pdf_strategy: 'no_ocr'
案例 2 的配置:
name: "Case 2"
fs:
url: "/path/to/data/dir"
ocr:
enabled: true
pdf_strategy: 'ocr_and_text'
PS 我可以使用其他方式将 PDF 分类为 OCRed 和非 OCRed 文件,并为每一堆 PDF 文件设置两个单独的 FScrawler 作业,但在此之前,我想检查是否有更简单的方法来使用 FScrawler 原生功能。