千丈之松的专栏

实践是最好的成长、发表是最好的记忆!!

技术交流,扫描关注技术公众号!

精选各领域互联网技术, 推送前后端、算法、人工智能领域优质技术文章!! 本公众号由阿里、网易、美团等团队组成 精选各领域互联网技术, 推送前后端、算法、人工智能领域优质技术文章!! 本公众号由阿里、网易、美团等团队组成。...

2018-11-20 20:40:13

阅读数 152

评论数 0

美团旅游召回系统设计

背景美团点评作为最大的生活服务平台,有丰富的品类可供用户选择,因此搜索这个入口对各业务的重要性不言而喻,除了平台搜索外,业务搜索系统的质量和效果对用户体验、商家曝光、平台交易也有着关键作用。相对美团点评平台的O2O检索,旅游搜索系统主要面临以下几点挑战:本异地差异大。在本地生活场景中用户的搜索需求...

2018-05-24 16:54:40

阅读数 569

评论数 0

从Elasticsearch集群及数据层架构,看分布式系统设计

分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。我们先来简单看下Elasticsearch的架构。一、Elasticsearch集群架构Elasticse...

2018-03-02 19:05:59

阅读数 208

评论数 0

知乎推荐系统的实践及重构之路

1、背景 知乎从问答起步,已逐步成长为一个大规模的综合性知识内容平台,截止目前,用户数突破 2.2 亿,有超过 3000 万的问题被提出,并获得超过 1.3 亿个回答。同时,知乎内还沉淀了数量众多的优质文章、电子书以及其它付费内容。 因此,在链接人与知识的路径中,知乎存在着大量的推荐场景。粗略...

2019-02-21 11:07:00

阅读数 395

评论数 0

Java SSM框架相关基础整理

一、Spring面试题 1、Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成。 两大核心: ①. IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,service层反转给action层,Spr...

2019-01-16 17:28:59

阅读数 167

评论数 0

分布式理论和系统架构设计

CAP理论 分布式锁 分布式一致性 分布式事务 负载均衡 微服务   一  CAP和BASE理论 1.1  CAP理论         分布式领域中存在CAP理论,且该理论已被证明:任何分布式系统只可同时满足两点,无法三者兼顾。很多系统在设计之初就要对这三者做出取舍。在互联网领域...

2018-08-17 11:58:36

阅读数 217

评论数 0

Redis特性和性能调优

概要 在分布式里面满足CP (一致性、分区容错性)。 性能:对于单纯只有IO操作来说,单线程可以将速度优势发挥到最大,但是Redis也提供了一些简单的计算功能,比如排序、聚合等,对于这些操作,单线程模型实际会严重影响整体吞吐量,CPU计算过程中,整个IO调度都是被阻塞住的。 一  Redis...

2018-08-17 11:37:18

阅读数 993

评论数 0

贝叶斯公式

贝叶斯分类  是基于朴素贝叶斯定理分类器,其计算过程是在训练阶段的时候,先计算每个分类的先验概率P(A),和各个分类下面特征属性的条件概率P(B|A)。预测的过程 ,反推特征-分类的条件概率(A|B)。取最大概率作为分类结果。        贝叶斯定理:已知A(分类)的条件概率,B(某个特征)...

2018-08-17 11:09:37

阅读数 123

评论数 0

BST、AVL、B-TREE、B+TREE、红黑树

1:BST 二叉搜索树(左子树值<=根值<=右子树) 1.1 定义 1 首先它也是一个二叉树,故满足递归定义; 2 其次每个节点只存在一个值; 3 需满足左子树值<=根值<=右子树,BST的中序遍历必定...

2018-08-04 10:19:05

阅读数 118

评论数 0

从分布式系统设计看Elasticsearch集群及数据结构

一: 概述 es本质上就是由分布式思想+lucene组合而成,因为lucene的存在,它比一般的分布式系统会稍微复杂一点,es采取的分布式思想是分片+副本+去中心化。 es持久化的方式是:副本索引文件+translog文件,es默认配置下,为了比较好的速度,选择了性能,是可能丢数据的(5s)。...

2018-08-04 10:02:55

阅读数 779

评论数 0

倒排索引查询原理

Lucene 查询过程 在lucene中查询是基于segment。每个segment可以看做是一个独立的subindex,在建立索引的过程中,lucene会不断的flush内存中的数据持久化形成新的segment。多个segment也会不断的被merge成一个大的segment,在老的segme...

2018-08-03 13:58:02

阅读数 2288

评论数 1

倒排、空间、BTREE、HASH索引

倒排索引 数据结构分为词表和倒排表两部分。 词表:FST。类似于字典树(适合英文),共享前缀,内存消耗小; https://blog.csdn.net/njpjsoftdev/article/details/54015485 倒排表:文档号集合。数据压缩+有序链表+跳表    https://...

2018-07-31 20:29:24

阅读数 327

评论数 0

Lucene简介和索引原理

基于Lucene检索引擎我们开发了自己的全文检索系统,承担起后台PB级、万亿条数据记录的检索工作,这里向大家分享下Lucene底层原理研究和一些优化经验。    从两个方面介绍:    1. Lucene简介和索引原理    2. Lucene优化经验总结 1. Lucene简介和索引原理  ...

2018-07-31 20:00:59

阅读数 105

评论数 0

红黑树

介绍红黑树是一个平衡的二叉树,但不是一个完美的平衡二叉树。虽然我们希望一个所有查找都能在~lgN次比较内结束,但是这样在动态插入中保持树的完美平衡代价太高,所以,我们稍微放松逛一下限制,希望找到一个能在对数时间内完成查找的数据结构。这个时候,红黑树站了出来。 阅读以下需要了解普通二叉树的插入以及删...

2018-05-31 11:27:43

阅读数 68

评论数 0

美团搜索排序设计方案

一、线上篇随着业务的发展,美团的商家和团购数正在飞速增长。这一背景下,搜索排序的重要性显得更加突出:排序的优化能帮助用户更便捷地找到满足其需求的商家和团购,改进用户体验,提升转化效果。和传统网页搜索问题相比,美团的搜索排序有自身的特点——90%的交易发生在移动端。一方面,这对排序的个性化提出了更高...

2018-05-24 16:56:14

阅读数 2816

评论数 0

如何合理的设置线程数

 一、需求缘起Web-Server通常有个配置,最大工作线程数,后端服务一般也有个配置,工作线程池的线程数量,这个线程数的配置不同的业务架构师有不同的经验值,有些业务设置为CPU核数的2倍,有些业务设置为CPU核数的8倍,有些业务设置为CPU核数的32倍。“工作线程数”的设置依据是什么,到底设置为...

2018-04-11 14:35:55

阅读数 342

评论数 0

elasticsearch ik配置动态同义词

使用环境elasticsearch5.1.1kibana5.1.1同义词插件5.1.1安装插件下载对应的elasticsearch-analysis-dynamic-synonym-5.1.1.zip, 解压到本地的elasticsearch/plugins目录下, 重新启动es第一种方式本地文件...

2018-03-01 18:00:25

阅读数 1712

评论数 0

lucene倒排索引表搜索原理

什么是正排索引?什么是倒排索引?搜索的过程是什么样的?会用到哪些算法与数据结构? 前面的内容太宏观,为了照顾大部分没有做过搜索引擎的同学,数据结构与算法部分从正排索引、倒排索引一点点开始。提问:什么是正排索引(forward index)?回答:由key查询实体的过程,是正排索引。用户表:t_us...

2018-01-12 11:54:27

阅读数 1510

评论数 0

一致性哈希

基本场景 比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache ; 求余算法: hash(object)%N...

2018-01-12 11:29:57

阅读数 163

评论数 0

elasticsearch总结

Elasticsearch是如何实现Master选举的? Elasticsearch的选主是ZenDiscovery模块负责的,主要包含Ping(节点之间通过这个RPC来发现彼此)和Unicast(单播模块包含一个主机列表以控制哪些节点需要ping通)这两部分;对所有可以成为master的节...

2018-01-12 08:48:41

阅读数 145

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭