搜索的本质
搜索,其实本质上是查字典。程序搜索也是一样,通常情况下,要建立字典,也就是索引。
于是,正常的步骤是:1 分词、2 索引、3 检索。
但是文件的内容,我们该如何搜索?
其实本质上是一样,我们的流程是分词、索引、检索,相当于加工->存储->搜索,如果要搜索文档中的内容,我们要做的只是在加工层面,将文档的内容提取出来,然后进行分词、索引、检索即可。
索引文档中的内容文档内容的提取
那么首先,我们就要进行文件提取,文档内容的提取有很多开源的工具可以使用,我们这里列举一下常见文件提取工具。
(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的架构,后台的扩展性,解释了如何架构一个灵活的搜索引擎。
文档内容检索如何通过开源的解决方案
我们采用开源的Drupal来构建文档数据库/电子资源数据库,其实Drupal本身自带了很多模块,能够自动完成将文档里面的数据提取出来,然后导入索引库,因此这些工作其实不用我们自己开发,推荐的模块如下:
具体的工作原理跟我们上面讲的是一样,因此原理都是相通的,只是模块直接帮我们处理了很多细碎的工作,比较比较方便使用,此外也是经过了很多改进以及Bug修复,相对来说,比较稳定。
===================
大家好,我是Robbin,来给大家讲CMS。
欢迎关注vizcms.com全景CMS,我们通过开源Drupal + 可视化工具GrapeJS (构建)=> 可视化、模块化、低代码的、易上手的CMS平台,。
可以快速构建网站、手机站、产品站、在线教育、课程售卖、售后咨询等平台的工具。
==================
本文来自“七秒鱼.”用户投稿,该文观点仅代表作者本人,不代表华夏信息网立场,本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、内容、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容,请发送邮件至1470280261#qq.com举报,一经查实,本站将立刻删除、维护您的正当权益。如若转载,请注明出处:http://www.xxxwhg.com/ls/89184.html