`
shuofenglxy
  • 浏览: 194492 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

浅谈数据搜索相关

阅读更多

搜索貌似是现在最热门的了,几乎各大 IT 公司都有自己的搜索引擎。百度、腾讯、网易连同淘宝都有了自己的搜索引擎。本文主要谈一下搜索方式和一些简单的搜索设计。

1          大量数据中的搜索:

现今的硬件设备 ( 这里主要指内存 ) 已经比较低廉、容量也越来越大(有些服务器内存容量已经能达到 256G ),因此,能利用内存缓存数据的话进来那个利用内存来存放,当然,为了数据安全,持久化存储方式也是要有的(可以利用文件系统或者数据库来完成)。

内存式的缓存设计要有这么几个要点:缓存的数据一定要是经常用到的数据,并且尽量使单数据比较小(一般以几十 K 为最大限),如果数据量大不能完全放入内存( key-value 对),设计一些置换算法进行数据交换就可以。

2          海量数据中的搜索:

数据海量,意味着你不能把数据全部放入内存了,也就是说磁盘上必须要存放数据,因此 IO 操作是必须的,也就意味着一般情况下数据 IO 操作将主要决定数据查找的性能,因此,搜索算法设计的要点就是想方设法降低 IO 操作次数,并精确分析数据查找的记录,尽量将热点内容放入内存,当内存可使用空间受到限制的话,进行数据置换就可以了。这些存在磁盘上的文件一般可以设计 B+ 树的索引(索引层数一定要合适,尽量避免一次查询多次读取 IO ),倒排索引(根据关键字和其他一些内容分词的方式)。而文件存储中特殊的图片处理则可以采用根据一些映射规则进行合理的名字 hash ,争取让图片名字包换图片的位置信息,然后将文件名以数据字典的方式存放在内存中(持久化的存储也是必须的,数据安全考虑嘛)。

搜索设计:

问题 1  :海量整数中取前 K 大,第 K 大、中位数。【一般都不能直接放入内存,也意味着内排序不可直接使用】。

                    思路:可以首先对这些数据进行去重操作,形成 key-value value 代表出现次数),操作后结果如果可以直接放入内存的话可以利用 hashmap 之内的一些数据结构进行后续操作了。如果还是不能,则对上一步操作结果进行切分,每一个部分读入内存按问题要求进行计算就可以了。

问题 2: 一般的产品搜索设计

          前提条件:产品有持久化的描述。

          思路:可以把描述进行分词、得到一些关键的产品表征属性、形成数据字典;

                       初步根据关键属性做出产品的倒排索引;

                       用户查询时记录用户的查询数据,形成一个查询字典【尽量小】,倒排索引中不存在时,如果搜索成功,则要把查询数据进行恰当的分词,并在倒排索引中添加。这样就简单完成了索引的自学习。

                       查询字典可以作为纠错、省略、分词的依据使用。

问题 3  图片搜索

          前提条件:图片持久化在磁盘上

          思路:海量的图片都应分机器存放,多个集群中存放。需要一个图片服务器来维护图片的存放信息【根据名称能够直接找到对应的位置】;还是一样,图片查询时要记录用户的查询信息,统计出热门图片,放入网络状况、硬件状况较好的图片存储机器上【当然更多的冗余份数也是可能有用处的,能提高并发访问量嘛】。

分享到:
评论

相关推荐

    浅谈数据挖掘技术在科技搜索服务中的应用.pdf

    文章标题《浅谈数据挖掘技术在科技搜索服务中的应用》提出了一个在当前信息技术快速发展背景下日益重要的课题——如何通过数据挖掘技术提升科技搜索服务的专业化和信息检索的精准化。随着互联网成为主要的信息交流...

    算法文档无代码浅谈部分搜索+高效算法在搜索问题中的应用

    ### 算法文档无代码浅谈部分搜索 在计算机科学中,算法是解决问题的明确指令集合,它规定了操作的顺序,并用于执行一系列的运算。算法文档通常是指为了解释和实现某个算法而编写的详细说明书,它包括了算法的描述、...

    浅谈增长渠道数据产品2022数据产品峰会(脱敏)共15页

    "浅谈增长渠道数据产品2022数据产品峰会(脱敏)共15页"这一标题揭示了一个研讨会或论坛的主题,聚焦于如何利用数据产品来拓宽增长渠道。在这样的峰会上,专业人士们可能探讨了数据驱动的决策、产品优化、用户洞察...

    浅谈数据挖掘技术.pdf

    统计分析方法是运用统计学原理来分析数据集之间的关系,如函数关系和相关关系,这些关系的分析有助于更深入地理解数据的本质。 数据挖掘技术的应用领域非常广泛,包括但不限于金融业、零售业、远程通讯业、政府管理...

    浅谈自行高炮武器系统雷达数据处理中的坐标变换.pdf

    该系统通常装备有搜索雷达,用于快速定位空中目标,并引导高射炮进行精确打击。为了确保目标打击的准确性,雷达捕获的目标数据需要经过一系列坐标变换处理,以修正车体运动、姿态变化带来的测量误差。本文将探讨自行...

    浅谈知识发现与数据挖掘.pdf

    《浅谈知识发现与数据挖掘》这篇文章探讨了数据挖掘领域的重要概念、技术和应用。数据挖掘是从大量数据中通过算法搜索隐藏信息的过程,这些信息可能包括模式、关联、异常和趋势。知识发现则是在数据挖掘的基础上,...

    搜索引擎浅谈.docx

    ### 搜索引擎浅谈 #### 一、搜索引擎技术发展历程 搜索引擎技术自诞生以来,经历了从简单到复杂、从单一到多元的发展过程。最初的搜索引擎主要基于关键词匹配的方式进行信息检索,这种方式虽然直观但效率较低,且...

    毕业生毕业设计论文——浅谈数据挖掘

    ### 数据挖掘概述与关键技术 #### 一、引言 数据挖掘是一种从大量数据中提取有用信息和知识的过程,它在日常生活中有着广泛的应用。本文旨在介绍数据挖掘的基础知识及其主要技术,包括决策树方法、人工神经网络...

    浅谈数据挖掘技术在频谱监测数据分析中的应用.pdf

    数据挖掘技术是指从大量数据中通过算法搜索隐藏信息的过程,这项技术自上世纪90年代被提出以来,已经广泛应用于各种数据分析领域,其中包括频谱监测数据分析。频谱监测数据指的是无线电频谱的使用情况的记录和分析,...

    41浅谈增长渠道数据产品共15页.pdf.zip

    标题中的“41浅谈增长渠道数据产品共15页.pdf.zip”暗示了这是一个关于增长渠道和数据产品的专题讨论,可能包含15页的详细内容。由于这是一个压缩文件,我们无法直接查看其具体内容,但我们可以根据标题和描述来推测...

    浅谈增长渠道数据产品共15页.pdf.zip

    标题中的“浅谈增长渠道数据产品”暗示了这是一个关于企业增长策略、数据分析和产品优化的讨论。这可能涉及如何利用数据驱动的决策来提升公司的市场份额、用户基础或收入。在这个主题下,我们可以深入探讨以下几个...

    浅谈数据挖掘——以医学为例.pdf

    关联分析主要用于DNA序列相似搜索与比较、识别同时出现的基因序列、疾病相关因素分析等。聚类分析是对输入集中的记录进行分类,是探索性统计分析方法。模糊系统是建立在模糊数学上的推理方式,经常与神经网络联合...

    Thesis2013-浅谈数据结构题的几个非经典解法1

    《Thesis2013-浅谈数据结构题的几个非经典解法1》这篇文章主要探讨了在解决数据结构问题时的一些非传统方法。以下是文章中提到的几个关键知识点: 1. **动态规划(Dynamic Programming, DP)**:在解决某些复杂问题...

    浅谈高维数据挖掘的现状与方法.pdf

    数据挖掘的主要技术领域包括数据库技术、人工智能、模式识别、统计学、信息搜索技术、数据可视化和高性能计算等。 数据挖掘通常分为三个阶段:数据准备、数据挖掘和结果评价与表达。数据挖掘的基本过程包括确定研究...

    浅谈数据挖掘和自适应算法的应用.pdf

    此外,数据挖掘技术在实际应用中,如考试报名系统、搜索引擎、购物平台和银行系统等,已经证明了其在各个行业中的巨大潜力和应用价值。 在未来的研究和应用中,我们需要关注数据挖掘技术的发展趋势,尤其是并行数据...

    浅谈数据挖掘在多媒体和图书馆中的应用.pdf

    数据挖掘在多媒体数据库中的应用,尤其是图像数据的挖掘,包括相似搜索、分类与预测分析以及关联挖掘。相似搜索关注的是多媒体数据描述与内容,采用不同的检索系统,如基于描述的检索系统和基于内容的检索系统。基于...

    浅谈数据挖掘技术在图书馆中的应用.pdf

    1. 用户行为分析:通过分析图书馆的借阅记录、搜索查询记录等,挖掘用户的阅读偏好,为用户提供更加个性化的服务。 2. 资源推荐:利用用户的借阅历史和偏好,图书馆可以推荐相关书籍或资料给用户,提高用户满意度。 ...

    浅谈数据挖掘技术在机组能效分析中的应用.pdf

    数据挖掘是指从大量的数据中通过算法搜索隐藏信息的过程。它通常与机器学习、统计学、数据库管理、数据仓库、可视化、并行计算、决策支持等技术相结合。在电力行业,这一技术被用来分析发电过程中的各种数据,以提高...

Global site tag (gtag.js) - Google Analytics