全文检索
数据分类
-
结构化数据
指具有固定格式或有限长度的数据,如数据库 -
非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等磁盘上的文件
非结构化数据的查询方法
顺序扫描法
所谓顺序扫描,就是顺序查找,比如要找内容包含某一个字符串的文件,就是一个文档一个文档的看
全文检索(Full-text Search)
将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这部分从非结构化数据中提取出的然后重新组织的信息,我们称之为索引。例如,字典中的拼音表和部首检字表就相当于字典的索引
这种先建立索引,再对索引进行搜索的过程就叫全文检索。
虽然创建索引的过程也是非常耗时的,但是索引一旦创建就可以多次使用,全文检索主要处理的是查询,所以耗时间创建索引是值得的
如何实现全文检索
可以使用Lucene实现全文检索。Lucene是apache 下的一个开发源代码的全文检索引擎工具包。提供了完整的查询引擎和索引引擎,部分文件分析引擎。Lucene的目的是为软件开发人员提供一个简单医用的工具包,以方便在目标系统中实现全文检索的功能。
全文检索的应用场景
对数据量大、数据结构不固定的数据可采用全文检索方式搜索,比如百度、Goole等搜索引擎、论坛站内搜索、电商网站站内搜索等
索引和搜索的流程
本文来自博客园,作者:chuangzhou,转载请注明原文链接:https://www.cnblogs.com/czzz/p/16097163.html