• Atitit 非结构化数据管理法 目录 1. 什么是非结构化数据? 1 2. 对非结构化数据也即对全文数据的搜索主要有两种方法: 2 2.1. 顺序扫描法(Serial Scanning): 2 2


    Atitit 非结构化数据管理法

     

    目录

    1. 什么是非结构化数据? 1

    2. 对非结构化数据也即对全文数据的搜索主要有两种方法: 2

    2.1. 顺序扫描法(Serial Scanning): 2

    2.2. 全文检索 多个关键词搜索的算法 3

     

    1. 什么是非结构化数据?

    非结构化数据本质上是结构化数据之外的一切数据。非结构化数据具有内部结构,但不通过预定义的数据模型或模式进行结构化。它可能是文本的或非文本的,也可能是人为的或机器生成的。它也可以存储在像NoSQL这样的非关系数据库中。

    典型的人为非结构化数据包括:

    • 文本文件:文字处理、电子表格、演示文稿、电子邮件、日志。
    • 电子邮件:由于其元数据,电子邮件具有一些内部结构,人们有时将其称之为半结构化。但是,其消息字段是非结构化的,传统的分析工具无法解析它。
    • 社交媒体:来自Facebook、Twitter和LinkedIn的数据。
    • 网站:YouTube、Instagram、照片分享网站。
    • 移动数据:短信、地点。
    • 通信:聊天、即时消息、电话录音、协作软件。
    • 媒体:MP3、数码照片、音频文件、视频文件。
    • 业务应用程序:MS Office文档、生产力应用程序。

    典型的机器生成的非结构化数据包括:

    • 卫星图像:天气数据、地形、军事活动。
    • 科学数据:石油和天然气勘探、空间勘探、地震图像、大气数据。
    • 数字监控:监控照片和视频。
    • 传感器数据:交通、天气、海洋传感器。

     

     

     

    按照数据的分类,搜索也分为两种:

    对结构化数据的搜索:如对数据库的搜索,用SQL语句。再如对元数据的搜索,如利用windows搜索对文件名,类型,修改时间进行搜索等。

    对非结构化数据的搜索:如利用windows的搜索也可以搜索文件内容,linux下的grep命令,再如用Google和百度可以搜索大量内容数据。

    1. 对非结构化数据也即对全文数据的搜索主要有两种方法:
      1. 顺序扫描法(Serial Scanning):

    一种是顺序扫描法(Serial Scanning):所谓顺序扫描,比如要找内容包含某一个字符串的文件,就是一个文档一个文档的看,对于每一个文档,从头看到尾

    一种是顺序扫描法(Serial Scanning):所谓顺序扫描,比如要找内容包含某一个字符串的文件,就是一个文档一个文档的看,对于每一个文档,从头看到尾,如果此文档包含此字符串,则此文档为我们要找的文件,接着看下一个文件,直到扫描完所有的文件。如利用windows的搜索也可以搜索文件内容,只是相当的慢。如果你有一个80G硬盘,如果想在上面找到一个内容包含某字符串的文件,不花他几个小时,怕是做不到。Linux下的grep命令也是这一种方式。大家可能觉得这种方法比较原始,但对于小数据量的文件,这种方法还是最直接,最方便的。但是对于大量的文件,这种方法就很慢了

      1. 全文检索 多个关键词搜索的算法

    比如说,我们要寻找既包含字符串“lucene”又包含字符串“solr”的文档,我们只需要以下几步:

    1. 取出包含字符串“lucene”的文档链表。

    2. 取出包含字符串“solr”的文档链表。

    3. 通过合并链表,找出既包含“lucene”又包含“solr”的文件。

     

    看到这个地方,有人可能会说,全文检索的确加快了搜索的速度,但是多了索引的过程,两者加起来不一定比顺序扫描快多少。的确,加上索引的过程,全文检索不一定比顺序扫描快,尤其是在数据量小的时候更是如此。而对一个很大量的数据创建索引也是一个很慢的过程。

    然而两者还是有区别的,顺序扫描是每次都要扫描,而创建索引的过程仅仅需要一次,以后便是一劳永逸的了,每次搜索,创建索引的过程不必经过,仅仅搜索创建好的索引就可以

     

     

    Ref

    非结构化数据处理技术及应用 目录

     

    Atitit. 结构化数据非结构化数据 与半结构化数据的区别与搜索策略

     

  • 相关阅读:
    卷积:如何成为一个很厉害的神经网络
    卷积的本质及物理意义(全面理解卷积)
    傅里叶分析之掐死教程(完整版)
    buf.writeUInt16BE()
    buf.writeUInt8()函数详解
    buf.writeUIntBE()函数详解
    buf.writeInt32BE()函数详解
    buf.writeInt16BE()函数详解
    buf.writeInt8()函数详解
    buf.writeDoubleBE()函数详解
  • 原文地址:https://www.cnblogs.com/attilax/p/15197117.html
Copyright © 2020-2023  润新知