![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索系统
文章平均质量分 91
千丈之松
开放、平等、协作、分享;
现代互联网精神。
展开
-
搜索引擎是如何设计倒排索引的?
搜索引擎如何工作?信息检索已经发展的非常成熟了,应该所有人都不陌生。我有幸这几年接触过并且实际做过一些搜索引擎开发的工作,特此总结并分享给大家。实际上,一个成熟的搜索引擎是想当复杂的,比如百度的,就分nginx,vui,us,as,bs,da.....等等这些模块,当然这些简写的字母大家也不必了解,只要知道它确实复杂就可以。今天我所讲的是一个简化版的搜索引擎,简化到只涉及到倒排建立和拉取。虽然简单,但是它是整个搜索引擎的最核心组件。一个最简单的搜索引擎如下图所示:merger: 接收查.原创 2020-12-10 16:10:09 · 384 阅读 · 0 评论 -
技术交流,扫描关注技术公众号!
精选各领域互联网技术, 推送前后端、算法、人工智能领域优质技术文章!! 本公众号由阿里、网易、美团等团队组成精选各领域互联网技术, 推送前后端、算法、人工智能领域优质技术文章!! 本公众号由阿里、网易、美团等团队组成。...原创 2018-11-20 20:40:13 · 382 阅读 · 0 评论 -
倒排索引查询原理
Lucene 查询过程在lucene中查询是基于segment。每个segment可以看做是一个独立的subindex,在建立索引的过程中,lucene会不断的flush内存中的数据持久化形成新的segment。多个segment也会不断的被merge成一个大的segment,在老的segment还有查询在读取的时候,不会被删除,没有被读取且被merge的segement会被删除。这个过程类似...原创 2018-08-03 13:58:02 · 24486 阅读 · 3 评论 -
倒排、空间、BTREE、HASH索引
倒排索引数据结构分为词表和倒排表两部分。词表:FST。类似于字典树(适合英文),共享前缀,内存消耗小; https://blog.csdn.net/njpjsoftdev/article/details/54015485倒排表:文档号集合。数据压缩+有序链表+跳表 https://blog.csdn.net/hu948162999/article/details/79042439 ...原创 2018-07-31 20:29:24 · 1323 阅读 · 0 评论 -
从分布式系统设计看Elasticsearch集群及数据结构
一: 概述es本质上就是由分布式思想+lucene组合而成,因为lucene的存在,它比一般的分布式系统会稍微复杂一点,es采取的分布式思想是分片+副本+去中心化。es持久化的方式是:副本索引文件+translog文件,es默认配置下,为了比较好的速度,选择了性能,是可能丢数据的(5s)。redis aof是1s。和redis一样,在性能和可靠性中选择,如果选择直接写入磁盘,es写性能会损...原创 2018-08-04 10:02:55 · 1807 阅读 · 0 评论 -
美团搜索排序设计方案
一、线上篇随着业务的发展,美团的商家和团购数正在飞速增长。这一背景下,搜索排序的重要性显得更加突出:排序的优化能帮助用户更便捷地找到满足其需求的商家和团购,改进用户体验,提升转化效果。和传统网页搜索问题相比,美团的搜索排序有自身的特点——90%的交易发生在移动端。一方面,这对排序的个性化提出了更高的要求,例如在“火锅”查询下,北京五道口的火锅店A,对在五道口的用户U1来说是好的结果,对在望京的用户...转载 2018-05-24 16:56:14 · 12183 阅读 · 3 评论 -
美团旅游召回系统设计
背景美团点评作为最大的生活服务平台,有丰富的品类可供用户选择,因此搜索这个入口对各业务的重要性不言而喻,除了平台搜索外,业务搜索系统的质量和效果对用户体验、商家曝光、平台交易也有着关键作用。相对美团点评平台的O2O检索,旅游搜索系统主要面临以下几点挑战:本异地差异大。在本地生活场景中用户的搜索需求往往集中在本城市内,而在旅游场景特别是行前场景用户会先搜索异地的POI(门店),比如常驻城市为北京的用...转载 2018-05-24 16:54:40 · 1158 阅读 · 1 评论 -
lucene倒排索引表搜索原理
什么是正排索引?什么是倒排索引?搜索的过程是什么样的?会用到哪些算法与数据结构? 前面的内容太宏观,为了照顾大部分没有做过搜索引擎的同学,数据结构与算法部分从正排索引、倒排索引一点点开始。提问:什么是正排索引(forward index)?回答:由key查询实体的过程,是正排索引。用户表:t_user(uid, name, passwd, age, sex),由uid查询整行的过程,就是正排索引查...原创 2018-01-12 11:54:27 · 3995 阅读 · 1 评论 -
蘑菇街搜索与推荐架构
搜索架构的探索之当前现状蘑菇街搜索当前架构如上图,是蘑菇街当前搜索架构,分为在线和离线两部分。在线部分主要职责是处理在线的搜索请求。离线部分的主要职责是处理数据流。在线请求链路如上图,是整个在线请求链路,主要分为topn->qr->引擎->精排->透出五个环节。第一步,请求首先进入topn系统,做ab配置/业务请求链路配置。第二步,请转载 2017-12-21 13:04:36 · 2874 阅读 · 0 评论 -
电商搜索引擎的架构设计和性能优化
首先,我想说的是电商搜索引擎和普通的搜索引擎有很大的差别,因为电商搜索引擎主要是解决用户要“买什么”,而通用搜索引擎主要是解决用户“搜什么”。比如同样搜索一个词“百年孤独”,电商的搜索肯定是给你推荐这本书的商家,而百度主要是告诉你:《百年孤独》是一本书。电商搜索引擎的特点众所周知,标准的搜索引擎主要分成三个大的部分,第一步是爬虫系统,第二步是数据分析,第三步才是检索结果。首先,电商的搜索引转载 2017-12-21 11:34:54 · 7615 阅读 · 0 评论