1.1
结构化数据和非结构化数据
我们生活中的数据总体分为两种:
结构化数据
和
非结构化数据
。
·
结构化数据:
指具有固定格式或有限长度的数据,如数据库,元数据等
。
·
非结构化数据:
指不定长或无固定格式的数据,如邮件,
word
文档等
。
1.2
对结构化数据的搜索
对数据库的搜索,用
SQL
语句。再如对元数据的搜索,如利用
windows
搜索对文件名,类型,修改时间进行搜索等。
1.3
对非结构化数据的搜索
(1)
顺序扫描法
(Serial Scanning)
所谓顺序扫描,比如要找内容包含某一个字符串的文件,就是一个文档一个文档的看,对于每一个文档,从头看到尾,如果此文档包含此字符串,则此文档为我们要找的文件,接着看下一个文件,直到扫描完所有的文件。如利用
windows
的搜索也可以搜索文件内容,只是相当的慢。
(2)
全文检索
(Full-text Search)
将非结构化数据中的一部分信息提取出来,重新组织,
使其变得有一定结构
,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这部分
从非结构化数据中提取出的然后重新组织的信息
,我们称之
索引
。
例如:字典。字典的拼音表和部首检字表就相当于字典的索引,对每一个字的解释是非结构化的,如果字典没有音节表和部首检字表,在茫茫辞海中找一个字只能顺序扫描。然而字的某些信息可以提取出来进行结构化处理,比如读音,就比较结构化,分声母和韵母,分别只有几种可以一一列举,于是将读音拿出来按一定的顺序排列,每一项读音都指向此字的详细解释的页数。我们搜索时按结构化的拼音搜到读音,然后按其指向的页数,便可找到我们的非结构化数据
——
也即对字的解释。
这种先建立索引,再对索引进行搜索的过程就叫全文检索
(Full-text Search)
。
1.4
什么是全文检索
全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法。
全文检索首先将要查询的目标文档中的词提取出来,组成索引,通过查询索引达到搜索目标文档的目的。
这种先建立索引,再对索引进行搜索的过程就叫全文检索(
Full-text Search
)。
全文检索就是把文本中的内容拆分成若干个关键词,然后根据关键词创建索引。查询时,根据关键词查询索引,最终找到包含关键词的文章。整个过程类似于查字典的过程。
如下图是对文件搜索的索引:
上图中,索引栏是从目标数据源中提取出来的词,在进行全文检索时是通过搜索索引(搜索索引中的词)从而找到索引对应的文件即目标数据源。
经过几年的发展,全文检索从最初的字符串匹配程序已经演进到能对超大文本、语音、图像、活动影像等非结构化数据进行综合管理的大型软件。本教程只讨论文本检索。
1.5
全文检索的应用领域
对于数据量大、数据结构不固定的数据可采用全文检索方式搜索,比如百度、Google
等搜索引擎、论坛站内搜索、电商网站站内搜索等。
下面是小编的微信转帐二维码,小编再次谢谢读者的支持,小编会更努力的
----请看下方↓↓↓↓↓↓↓
百度搜索 Drools从入门到精通:可下载开源全套Drools教程
深度Drools教程不段更新中:
更多Drools实战陆续发布中………
扫描下方二维码关注公众号 ↓↓↓↓↓↓↓↓↓↓