关于 PostgreSQL 全文检索的实战 —— 中文分词、查询、索引、权重、排序
如果有人新启一个项目需要实现全文检索的功能。 不少人可能第一时间就想到ES, 但ES实在是有点重了。 再怎么说也要吃个2G内存吧。 并且由于ES是个中间件, 使用的话系统复杂度又会有一个指数级的上升, 我认为可预计的需要搜索的数据量级不会达到千万级别的话, 没太大必要。 干脆直接用 PostgreSQL 解决这个问题得了 ...
如果有人新启一个项目需要实现全文检索的功能。 不少人可能第一时间就想到ES, 但ES实在是有点重了。 再怎么说也要吃个2G内存吧。 并且由于ES是个中间件, 使用的话系统复杂度又会有一个指数级的上升, 我认为可预计的需要搜索的数据量级不会达到千万级别的话, 没太大必要。 干脆直接用 PostgreSQL 解决这个问题得了 ...
先说肠镜结果, 刚毕业两年。 慢性结肠炎+内痔 起飞 周五上午9.40的肠镜, 周四开始就没吃饭了。 然后周五凌晨三点起床 (其实压根没睡着) 喝泻药。两包名叫和爽的泻药。 其实还好, 兑水慢慢的喝, 总共超过2000ml 就行了。 断断续续喝了两个半小时喝完了。 拉了估计有6/7次吧。 这个有一点需要注意, ...
应用开发时, 有人可能会有机会遇到需要自己制定模板语法的时候。 比如这几个场景: 1、 回复/评论/私聊 系统 的表情、链接 。 这种模块一般都不会采取富文本的形式来保存, 而是自己制定一个模板语法如 [默认表情: 滑稽] 然后在渲染时再渲染成HTML 2、系统消息推送时携带链接, 并不是每个运营人员都会学习HTML 3、 ...
前两个季度加起来好像看了5/6本书,但是第三个季度一本也没看,而且也没看学习视频,可以说是在编程上完全没有进步了, 但我反而挺开心的。 因为我现在正在努力的做一点一般人不会做的事情。 有关注过我的博客的人应该能知道, 那就是我之前定了个小目标, 自己要做一个”作品”。 很久以前, 起码是2018年我 ...
关于数据库字段与实体类中枚举的映射也算不上花活了。在业务开发中还是比较有必要的。 比如一个实体类里有个 state 字段, 里面包含了几种状态如: 初始化、进行中、已完成; 像这种类似于一个对象的状态都是可以被枚举出来的, 同时也可能携带一定的业务逻辑与状态之间切换的规则。 此时如果直接使用数字类型/字 ...
虽说现在连 SpringBoot 都抛弃 Maven 开始使用 Gradle 来构建了,可关于Gradle这个工具呢在用的人还是挺少的,在网上搜的资料也大多还都是基于安卓项目的配置。 当然 Java 的也会有, 不过基本上都是些很基础的单个项目的构建法,复杂的很少。而一个真实的企业级应用中项目构建会涉及到的点还是比较多的,网上搜 ...
关于限流这种机制呢也算是老生常谈了, 毕竟在业务开发中实在是很多地方都会用到。比如第三方接口调用限制、并发访问数控制等… 而具体的限流算法在单机中很容易就可以实现, 在java的世界里既有开源库Guava的RateLimiter, 也有JUC中自带的 Semaphore、BlockingQueue等。拿来随手就可以使用。 &nbs ...
关于OAuth2协议, 相信有一定开发经验的开发者也不陌生了。 毕竟只要涉及到 多端应用、第三方登陆、API接口调用 总会接触到这个概念。 这里就主要探讨一下在微服务体系中使用 OAuth2 协议实现鉴权方案时,如何最大化减少网络通信次数,从而提升系统的响应速度。 准备讨论的架构是我个人对于 OAuth2 这个协议在微 ...
去年三月份摔了个腰椎L1压缩性骨折, 今年大年三十阑尾炎手术。 人的一生啊有的时候就是这么刺激。 今年第一季度还有个小惊喜,一个月前待在公司里写代码的时候突然看到邮箱多了一封邮件,点开一看居然是阿里巴巴来挖人的,当时真有点蒙hhh 不知道是不是为了凑KPI才发到我的邮箱里, 因为技术、背景比我 ...
当网站业务快速发展,数据量不断地上升,那么不可避免的底层DB压力会越来越大。 一般最开始都可以靠更换硬件来解决,加钱上更好的机子是最简单的方案,但这只限于你的增加的硬件费用算起来相对经济以及确实单机能顶得住业务量来说的。 但是在你业务激增的情况下,数据和访问量的增长势必会突破单机的极限,即单 ...