2020-12-28 19:26
索引相当于DB中的表,数据都是储存在索引中。正如数据库的表需要设计索引一样,ES的索引设计同样也有很多要注意的地方,否则就会发生查询速度过慢甚至查询不到数据的情况。本文整理一下自己在设计漫画搜索索引时候遇到的一些问题和细节。
the Index just like Table in DB,the data is stored in the Index.Just like DB tables need to be indexed,the ES index also has pay attaton to many points,Otherwise,the query speed will be slow even the data can not be queried. In this post,I will sort out some of the problems and details I encountered when designing the comic search index.
2020-10-22 14:27
早期的哔哩哔哩漫画搜索服务是由大数据部门提供的,很多功能上无法满足漫画自己业务的需求。我们在调研了一段时间 elasticsearch(后面简称ES)以后,动手搭建了一套功能齐全的搜索服务。探索的过程收获了不少东西,因此打算写几篇相关的文章记录一下。作为开篇,简单的讲一些ES的搭建过程和一些细节。
The early Bilibili Manga search service is provided by Big Data department,and many functions could not meet the needs of our own business. After a period of investigation, we start to construct a functional search service. We got a lots of exprience in this process so I decide to white some article to record it. As a start, I will go into some details about set up a ES service.
2020-09-29 15:58
干啥啥不行,重构第一名。
What can I do? Refactor first.
2018-01-12 10:54
我的 iPhone 6 plus 用『降频门』+ iOS 11 的 bug + 续航雪崩三连发将我折腾得痛不欲生,在『花一大笔钱升级到新款 iPhone』和『省点钱买个便宜手机』之间犹豫了许久以后,最终还是决定买个便宜的 android 手机。
不过对于稍微有点偏执的我来说,国内的一众『安卓』系统真的无法下手,别扭的 UI,各种『贴心』的优化实在无力吐槽。本想咬牙入手谷歌亲儿子 pixel2,但是网上的一众关于质量问题的报告让我胆战心惊。机缘巧合之下,关于谷歌的『android one』计划和小米的A1 手机印入我的眼帘。
2017-07-17 22:40
mysql 有查询优化器,在我们发起一个查询的时候, msql 会尝试分析他,看看是否能做一些优化手段来加快查询速度。最常见的比如说有个 (a,b)的联合索引,无论我们使用SELECT * FROM t WHERE a=? AND b=?
还是SELECT * FROM t WHERE b=? AND a=?
都能利用到(a,b)
这个联合索引,又或者是在很多复杂的查询条件中,分析出使用哪个索引能最大化查询速度,这都是查询优化器做的事情。
然而毕竟程序是死的,有的时候查询优化器并不如我们想象中的那么聪明。这时候就需要我们强制 mysql 按照我们的意愿去查询了。
2017-06-12 17:39
一般来说高并发,或者 sql 查询很重的业务,缓存都是少不了的。业务代码中,读取缓存的时候一般会这样处理:
data = getCache(key)
if !data {
data = selectDB(key)
}
但是有些时候光做缓存还是不够,我们还要担心缓存失效导致的集中查 DB 的问题,这时候就需要考虑加锁的问题了。
2017-05-24 20:41
上周开始我司完善了 mysql 慢查询的报警机制,然后很快陆陆续续的一些业务的慢查询报警开始出现了.其中有一个慢查询是对联合索引使用不当引起的,解决这个问题的过程中也让我重新认识了联合索引的特点.
2017-04-13 00:00
go 语言中字符串拼接有好几种方式,从最普通的+
拼接到buffer
字节缓冲都有.但是如果遇到大量的字符串拼接的情况,他们之间的性能差异还是需要注意的.
2017-03-26 00:00
对一个程序员来说,能够无障碍的上网是非常重要的,毕竟现在的计算机科学的重心依然在国外.面对越来越严苛的封锁,提高自己的架梯子技术迫在睫眉. 服
2017-02-19 00:00
最近和搜索的同事一起用 golang 重构他们的 Elasticsearch 客户端.在用 Goroutines 去异步更新索引的时候并发量太大导致 ES
进程挂掉的情况(真弱).因此在更新索引的时候考虑如何手动控制并发的协程数量.
2017-01-18 21:08
我最早接触 静态网站生成器是farbox,在那个不会搭网站的时代,farbox帮助我建成了我的第一个个人博客。如今最流行的静态网站生成器恐怕就
2017-01-03 00:00
每年都会有的那个东西.
我是带着一种很复杂的心情来写2016年的总结的.这一年对我来说真的发生了以及认识到了太多的事情
.但是拙劣的文笔却让我很难尽情的通过总结写下来,于是这个总结写着写着心情就变得更差了.
2016-10-20 00:00
和朋友写一个 php 项目, 发现当设置的 session_name 包含 .
的时候,用户的登录状态无法保存了.具体是什么原因导致的呢?
2016-07-18 00:00
2016-07-14 00:00
http_load是一款linux,OSX下的性能检测工具,通过简单的参数就能测试Web服务器的负载和性能.对于日常的代码自测已经足够了.
2016-06-30 00:00
2016-01-01 00:00
任何时候都少不了的东西。 职业 2015年是我职业人生很重要的一年,这一年我从一个职场菜鸟转变为了一个小小的技术主力.不是老鸟,也不是老油条,又
2015-12-29 00:00
开始慢慢体会到 Mac 作为开发机的优势了,记录一下搭建 php 开发环境的过程。
2015-05-24 00:00
相关代码在这里:github.com/zakokun/myPHP
个人觉得徒手写一个PHP框架是帮助我们了解MVC架构的好办法,同时对PHP的资源调度以及代码组织都是一个很好的锻炼。
2015-05-15 00:00
elementary os 是基于ubuntu的,所以步骤和ubuntu类似
最近换了新设备,老电脑就空下来了.折腾着在上面装了elementary os
系统,尝试着在这个系统上搭建开发环境。
2015-01-29 00:00
为了更愉快的装逼,开始学习php的设计模式之二.
特点
由一个观察者对应多个被观察者,一对多的关系
被观察者预留update()方法给观察者调用
2015-01-28 00:00
为了更愉快的装逼,开始学习php的设计模式.
特点
一个类有且只有一个实例
这个实例是由这个类本身创建的
自行向整个逻辑返回本身的实例
2015-01-26 00:00
segmentfault上有人提了个问题 ,关于数组排序的,原本感觉很简单,但是我还是踩到了php自带函数的几个坑……
2014-12-25 00:00
工作中遇到了字符串替换的问题,查了一下php中常用的替换函数有strtr()和str_replace().分享一下我自己使用这两个函数的一些心得.
2014-12-20 00:00
众所周知,由于弱类型以及特殊的解析方式的原因,PHP本身无法实现方法的重载.但是,通过PHP自带的一些强大的魔术方法,我们可以手动实现方法重载.
2014-09-22 00:00
Redis是一个和Memcache类似的NoSQL缓存系统.相比Memcache支持更多的数据类型,并且数据可以持久化,这让他可以储存超过指定内存大小的数据(这是我觉得和Memcache最大的区别).
由于支持的数据格式多,所以操作相比Memcache稍微复杂些.
Redis的各种赋值和取值的操作很多,网上想找个齐全的资料都不太好找.以下整理记录了一些自己常用的操作.
2014-03-12 00:00
csv文件本质上是一个由逗号以及回车分割的纯文本文件,因此导出csv文件的流程是: 读取信息->循环拼接成对应格式的字符串->设置
2014-01-17 02:22
SubLime Text(ST)是一个很适合程序猿使用的跨平台文本编辑器,有很多强大的内置功能以及丰富的第三方插件.我在第一次接触他的时候就被彻底征服.又大又笨的IDE还是见鬼去吧.
下载安装ST可以直接去官网 ,有2和3两个版本,ST3目前是beta版,不过日常使用依然是挺稳定的,看个人喜好吧,我用的是2.
2014-01-17 00:00
逛v2的时候看到一个帖子:点击这里
各个码农都在秀自家的语言,身为php程序员,也尝试着写了一个,没想到这么一个简单的问题也踩了不少的坑.