百度搜索引擎优化指南(搜索引擎搜索中的正排索引到底是什么?(组图))

优采云 发布时间: 2021-12-29 02:18

  百度搜索引擎优化指南(搜索引擎搜索中的正排索引到底是什么?(组图))

  当你在搜索引擎的搜索框中输入你要查找的关键词时,首先影响你体验的不是无关的搜索结果,而是界面出现“正在加载”、“服务正在加载”, ” “搜索响应失败”等字眼。据统计,搜索页面的加载时间会严重影响用户的搜索体验,从而流失优质用户。如下图:

  

  从图中可以看出,搜索负载超过1s会直接影响页面放弃率。1s是用户的感知极限,所以需要优化搜索引擎的响应时间。但是,无论是大搜还是微搜,随着大数据时代的发展,被查询的记录数都在数亿,甚至数万亿。搜索引擎如何在海量的大数据中以ms级别返回,这里涉及到索引的概念。

  究竟什么是索引?今天就来说说吧。

  

  让我给你举个例子:

  如果您是企业家,您的公司一开始只有 10 名员工。有一天,你想找几个有“销售经验”的人组成一个销售团队。相信你会一一询问和排除。我很快就能找到。这就是所谓的遍历查询。

  几个月后,你拿到了投资,你的团队已经从10人扩大到100人,这时候你想找有“运营经验”的员工组建运营团队,却发现每次询价都有点过分弱,所以你我提前想了个办法,把100个人分成10个部门。如果想找各种经验的人,可以直接到对应的职能部门找部门经理找。这是搜索中的前向索引。如下所示:

  

  后来随着公司的爆发式增长,你们公司现在有1w人,部门已经是事业群了,组织架构也从之前的单层升级到了多层。这时候想找一个有“全栈经验”的开发工程师组了一个新的团队来开发一个新产品,分了找人的任务后发现自己“疯了”,因为很有可能找到1w个人后,就可以找到合适的人了。这时候,你又想了一个招数,反过来想。, 既然我到底找的是人,那我就建立一套基于人的标准,先找到对应的人,然后根据对应的人逆向部门,然后让部门经理看看他的团队是否兼容 有人问,范围是不是缩小了很多?也大大提高了效率。这就是所谓的倒排索引。

  

  【前排索引】

  前向索引也称为前向索引。蜘蛛爬取页面后,系统会对页面的标题和内容进行预处理,获取能够反映页面主题内容和单词单位的唯一字符。细绳。搜索引擎索引程序可以提取关键词信息,包括出现次数、位置等,并为该页面建立page id和关键词的对应关系,这个过程称为forward索引。

  举例说明,现在有5条关于“胡歌”的信息,如下:

  

  根据5条信息的标题,创建前端索引如下:

  

  从上图可以发现,这种方法结构比较简单,建立索引比较方便。如果有文档要添加,可以直接在后面按照这个格式添加一个索引块。如果需要删除,也可以指定id删除,找到所有对应的信息,直接删除。但是,当你不知道你查询的内容的id时,只能扫描1001到1005,以确保不会漏掉召回次数。因此,检索效率极低。

  【倒排索引】

  因为前向行的查询效率太低,所以出现了倒排索引,也叫倒排索引。在索引过程中,将前面索引中id对应的所有关键词进行反转,建立一组基于关键词出现在文档中的索引,如下:

  

  从上图可以看出,如果要查询“cat”,只需要查询id为1003的文档,缩小了查询范围,提高了查询效率。倒排索引的应用场景非常广泛,例如:不仅用于搜索引擎、大型数据库索引、文档检索、多媒体检索/信息检索等。 总之,倒排索引是一种非常重要的索引机制。搜索字段。

  【摘要索引】

  另外还有一个汇总索引用来提高一些场景的搜索效率。摘要索引存储了文档需要返回显示的相应信息。通过Doc_id可以定位到文档的存储位置,可以得到相应的摘要信息。为用户提供摘要检索服务。汇总索引的结构与前向索引类似,但功能不同。其结构如下:

  

  【分布式索引】

  以上类型的索引都是索引结构,但是仅仅使用这些索引结构来优化它们是不够的。索引优化需要在架构层面进行。所谓分布式索引,开源的Solr和Elasticsearch都支持分布式索引,根据文档的id计算hash值,负载均衡器将索引写入对应的shard。以Elasticsearch为例,看如下流程:

  

  Node-1和Node-2是ES集群的两个节点。根据不同的id值进行hash后,写入不同的节点。查询过程基于整个集群的并行查询,提高查询效率。

  现实中,大搜和微搜都使用了上述索引结构和架构。大厂甚至都部署了集群+集群来支持高并发,实现高性能。但是每个集群下的每个节点都需要索引来支持,所以效率是搜索的门户。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线