电脑文档里的内容怎么查找(CMS系统,如何搜索文件的内容?)

小编:小丢 更新时间:2022-11-15

我们之前有几篇文章,介绍了如何构建资源库以及电子文档数据库,《》,除了图库,我们也可以建设文档库,这个之后的文章再详细介绍,那么在建设文档资源库或者电子资源库中,如何检索文件中的内容,变成了一个重要的问题。

搜索的本质

搜索,其实本质上是查字典。程序搜索也是一样,通常情况下,要建立字典,也就是索引。

于是,正常的步骤是:1 分词、2 索引、3 检索。

但是文件的内容,我们该如何搜索?

其实本质上是一样,我们的流程是分词、索引、检索,相当于加工->存储->搜索,如果要搜索文档中的内容,我们要做的只是在加工层面,将文档的内容提取出来,然后进行分词、索引、检索即可。

电脑文档里的内容怎么查找(CMS系统,如何搜索文件的内容?)

索引文档中的内容


文档内容的提取

那么我们就要进行文件提取,文档内容的提取有很多开源的工具可以使用,我们这里列举一下常见文件提取工具,

(1)Apache Tika APP

(2)Apache Tika Server

(3)The Solr built-in extractor

(4)pdftotext for pdfs

(5)python pdf2text for pdfs

(6)golang docconv

上面的几个,都是常见的文档提取工具,我们就不做更深入的研究,如果要使用,大家Google一下,然后将对应的命令安装上就可以。

最终是通过Web调用这些命令,然后将文档的内容提取出来,给分词程序进行分词,然后索引加工。

检索文档内容

一旦索引入库了,那么就没有什么其他难点了,跟其他普通的检索程序一样,将对应的字段的内容,按照用户输入进行检索。下图是一个Search API的架构,后台的扩展性,解释了如何架构一个灵活的搜索引擎。

电脑文档里的内容怎么查找(CMS系统,如何搜索文件的内容?)

文档内容检索

如何通过开源的解决方案

我们采用开源的Drupal来构建文档数据库/电子资源数据库,其实Drupal本身自带了很多模块,能够自动完成将文档里面的数据提取出来,然后导入索引库,因此这些工作其实不用我们自己开发,推荐的模块如下:

  1. Search API Attachement https://www.drupal.org/project/search_api_attachments
  2. File Extractor https://www.drupal.org/project/file_extractor

具体的工作原理跟我们上面讲的是一样,因此原理都是相通的,只是模块直接帮我们处理了很多细碎的工作,比较比较方便使用,此外也是经过了很多改进以及Bug修复,相对来说,比较稳定。


===================

大家好,我是Robbin,来给大家讲CMS。

欢迎关注vizcms.com全景CMS,我们通过开源Drupal + 可视化工具GrapeJS (构建)=> 可视化、模块化、低代码的、易上手的CMS平台,。
可以快速构建网站、手机站、产品站、在线教育、课程售卖、售后咨询等平台的工具。

==================