全文检索

数据分类

  • 结构化数据
    指具有固定格式或有限长度的数据,如数据库

  • 非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等磁盘上的文件

非结构化数据的查询方法

顺序扫描法

所谓顺序扫描,就是顺序查找,比如要找内容包含某一个字符串的文件,就是一个文档一个文档的看

 将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这部分从非结构化数据中提取出的然后重新组织的信息,我们称之为索引。例如,字典中的拼音表和部首检字表就相当于字典的索引

这种先建立索引,再对索引进行搜索的过程就叫全文检索。

虽然创建索引的过程也是非常耗时的,但是索引一旦创建就可以多次使用,全文检索主要处理的是查询,所以耗时间创建索引是值得的

如何实现全文检索

 可以使用Lucene实现全文检索。Lucene是apache 下的一个开发源代码的全文检索引擎工具包。提供了完整的查询引擎和索引引擎,部分文件分析引擎。Lucene的目的是为软件开发人员提供一个简单医用的工具包,以方便在目标系统中实现全文检索的功能。

全文检索的应用场景

对数据量大、数据结构不固定的数据可采用全文检索方式搜索,比如百度、Goole等搜索引擎、论坛站内搜索、电商网站站内搜索等

索引和搜索的流程

posted @ 2022-04-03 20:09  chuangzhou  阅读(76)  评论(0编辑  收藏  举报