搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。
搜索引擎是网站建设中针对“用户使用网站的便利性”所提供的必要功能,同时也是“研究网站用户行为的一个有效工具”。高效的站内检索可以让用户快速准确地找到目标信息,从而更有效地促进产品/服务的销售,而且通过对网站访问者搜索行为的深度分析,对于进一步制定更为有效的网络营销策略具有重要价值。
要了解分布式搜索引擎,先了解搜索这个事儿吧,搜索这个技术领域里最入门级别的一个概念就是倒排索引。我们先简单说一下倒排索引是个什么东西。
1、倒排索引是什么
假如说你现在不用搜索引擎,单纯使用数据库来存放和搜索一些数据,比如说放了一些论坛的帖子数据吧,那么这个数据的格式大致如下:
加密基金MT Capital获加拿大家办BM Fund 1000万美元投资:金色财经报道,据官方消息,加拿大知名家办BM Fund宣布对加密基金MT Capital投资1000万美元,Momentum Capital(简称:MT Capital)是一家总部位于旧金山湾区的原生加密基金,由早期进入加密行业的多个资深投资者发起,主要团队成员曾投资过多个知名项目且成果斐然。
BM Fund的创始人Carmen表示:“MT Capital的合伙人Eason在以往的多次合作中为我们取得了显著回报,他专业的投资眼光是我们决定在熊市逆周期投资Momentum Capital的重要原因。”
MT Capital合伙人Eason表示:无论熊市牛市,我们将致力于投资孵化全球范围内真正能引领Web3叙事的高价值项目。未来一年正是市场新一轮周期转换和新技术发现、趋势验证阶段,我们将会重点押注Web3 infra和可能引领热点的应用。[2023/8/22 18:14:39]
很简单吧,假设有一个id字段标识每个帖子数据,然后title字段是帖子的标题,content字段是帖子的内容。那么这个时候,比如我们要是用数据库来进行搜索包含“汽车”这个关键字的所有帖子,大致SQL如下:
程晓明:区块链不是创造信任的机器 而是制造一种让大家不依赖于信任的机制:金色财经现场报道,9月16日下午,中国通信工业协会区块链专委会副主任委员程晓明应邀出席由中国国际智能产业博览会组委会主办,重庆市大数据发展局、重庆市经济信息委、重庆市渝中区人民政府联合承办,宏链财经执行的“2020(线上)智博会区块链高峰论坛”。在媒体专访中,程晓明表示区块链不是创造信任的机器,而是制造一种机制,让大家不依赖于信任。每个人都只参与了初级规则的落地,所有人为的参与只能是促进系统的完善,而无法破坏和干扰规则。[2020/9/16]
咱们姑且不论这个数据库层面也有支持全文检索的一些特殊索引类型,或者数据库层面是怎么执行的,这个不是本文讨论的重点,你就看看数据库的数据格式以及搜索的方式就好了。但是如果你通过搜索引擎类的技术来存放帖子的内容,他是可以建立倒排索引的。就是说,你把上述的几行数据放到搜索引擎里,这个倒排索引数据大致看起来如下:
BKFUND联合创始人黄峤濛:区块链让大家都变成了抽象意义上的公司股东:据人民创投报道,BKFUND联合创始人黄峤濛表示,区块链让“我们在同一条船上”的说法成为真正实现,大家都变成了抽象意义上的公司股东,自发的为这个公司贡献和发展用户,这就是区块链TOKEN机制带来的吸引力,这种动态激励机制更有利于激发每一个参与人的动力,也更公平。[2018/4/20]
所谓的倒排索引,就是把你的数据内容先分词,每句话分成一个一个的关键词,然后记录好每个关键词对应出现在了哪些id标识的数据里。那么你要搜索包含“汽车”关键词的帖子,直接扫描这个倒排索引,在倒排索引里找到“汽车”这个关键词对应的那些数据的id就好了。然后你可以从其他地方根据这几个id找到对应的数据就可以了,这个就是倒排索引的数据格式以及搜索的方式,上面这种利用倒排索引查找数据的方式,也被称之为全文检索。
2、分布式搜索引擎理解
数字货币的熊市是否与华尔街有关 今晚8点肖磊会在《金色讲堂》为大家进行分析:4月9日晚20:00,另类投资专家,数字货币、区块链市场资深分析师肖磊会针对目前数字货币“熊市”的现状进行深入的分析,解读本次熊市是否与华尔街有关。[2018/4/9]
其实还是很简单,假如说你现在要存储1TB的数据,那么放在一台机器还是可以的。但是如果你要存储超过10TB,100TB,甚至1000TB的数据呢?你用一台机器放的下吗?当然是放不下的了,你的机器磁盘空间是不够的。大家看一下下面的图:
所以这个时候,你就得用分布式搜索引擎了,也就是要使用多台机器来部署搜索引擎集群。比如说,假设你用Elasticsearch(后面简写为:ES)。现在你总共有3TB的数据,那么你搞3台机器,每台机器上部署一个ES进程,管理那台机器上的1TB数据就可以了。这样不就可以把3TB的数据分散在3台机器上来存储了?这不就是索引数据的分布式存储吗?而且,你在搜索数据的时候,不就可以利用3台机器来对分布式存储后的数据进行搜索了?每台机器上的ES进程不都可以对一部分数据搜索?这不就是分布式的搜索?是的,这就是所谓的分布式搜索引擎:把大量的索引数据拆散成多块,每台机器放一部分,然后利用多台机器对分散之后的数据进行搜索,所有操作全部是分布在多台机器上进行,形成了完整的分布式的架构。同样,我们来看下面的图,直观的感受一下。
火币袁煜明:区块链的本质是共赢,大家都在一条船上:火币区块链研究院院长袁煜明在昨日“2018第二届粤港澳大湾区区块链未来技术峰会”论坛演讲中提到,互联网强调的是用户和闭环,而区块链的本质是共赢。通过区块链和通证,把所有员工、用户、供应商、广告商,都绑定到一条船上,极大的激发企业、链、基金会、社区的活力,这跟传统的股份制相比是质的提升。[2018/3/21]
3、shard的数据分片机制
那么这个时候大家考虑一下,比如有一个index,专门存放论坛的帖子,现在论坛的帖子有1亿,占用了1T的磁盘空间,这个还好说。如果这个帖子有10亿,100亿,占用了10TB、甚至100TB的磁盘空间呢?那这个index还能放到一台机器上存储吗?肯定不行的。这个时候,必须得支持这个index的数据分布式存储在多台机器上,利用多台机器的磁盘空间来承载这么大的数据量。
而且,需要保证每台机器上对这个index存储的数据量不要太大,因为控制单台机器上这个index的数量,可以保证他的搜索性能更高。所以就引入一个新的概念:shard数据分片结构、每个index都可以指定创建多少个shard,每个shard就是一个数据分片,会负责存储这个index的一部分数据。
比如说index里有3亿帖子,占据3TB数据。然后这个index你设置了3个shard。那么每个shard就可以包含一个1TB大小的数据分片,每个shard在集群里的一台机器上,这样就形成了利用3台机器来分布式存储一个index的数据的效果了。大家看下面的图:
现在index里的3TB数据分布式存储在了3台机器上,每台机器上有一个shard,每个shard负责管理这个index的其中1TB数据的分片。而且,另外一个好处是,假设我们要对这个index的3TB数据运行一个搜索,是不是可以发送请求到3台机器上去?3台机器上的shard直接可以分布式的并行对一部分数据进行搜索,起到一个分布式搜索的效果,大幅度提升海量数据的搜索性能和吞吐量。
4、Replica多副本数据冗余机制
但是现在有一个问题,假如说3台机器中的其中一台宕机了,此时怎么办呢?是不是这个index的3TB数据的1/3就丢失了?因为上面有1TB的数据分片没了。所以说,还需要为了实现高可用使用Replica多副本数据冗余机制。在Elasticsearch里,就是支持对每个index设置一个replica数量的,也就是每个shard对应的replica副本的数量。比如说你现在一个index有3个shard,你设置对每个shard做1个replica副本,那么此时每个shard都会有一个replicashard。这个初始的shard就是primaryshard,而且primaryshard和replicashard是绝对不会放在一台机器上的,避免一台机器宕机直接一个shard的副本也同时丢失了。我们再来看下面的图,感受一下:
在上述的replica机制下,每个primaryshard都有一个replicashard在别的机器上,任何一台机器宕机,都可以保证数据不会丢失,分布式搜索引擎继续可用。Elasticsearch默认支持每个index是5个primaryshard,每个primaryshard有1个replicashard为副本。
长期以来,集中式系统给我们的生活带来了很多改变。它对我们的日常生活产生了影响,影响了我们如何阅读新闻,我们可以搜索到多少信息,甚至可以影响我们访问的内容。过去几年,区块链技术有了巨大的增长,给一直坚守它的人们带来了希望。但是,垄断使得那些持有他们的公司处于一种强势地位。垄断公司可以随时改变政策,窃取用户数据。更可怕的事情正在发生:丧失数据所有权。
IPSOU(interplanetSearch)是基于IPFS协议的分布式存储和区块链技术的新型搜索引擎,通过关注用户隐私,分散化和搜索效率来构建新的体验。IPSOU允许用户通过加密技术和智能合约控制他们的个人数据.使用IPSOU可以享受无限制和不受审查的浏览,您可以通过该站点发出请求,您可以获取IPFS资源并将其发送回您的计算机和移动设备。
在IPSOU上,用户可以免费搜索IPFS网络文件,并使用IPFS和其他底层协议访问内容,而不需要依赖于集中的服务(和服务器),如谷歌或百度。用户将再次拥有自己的数据,没有广告跟踪,没有针对性的广告,也没有隐私问题。IPSOU使用区块链技术保护隐私。
集中式系统改变我们的生活,但我们对数据的所有权也在逐渐消减,分布式系统带来的应用,会使我们在生活、工作更加隐私、安全、高效、可信。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。