Maven 毫秒级搜索神器

本贴最后更新于 1244 天前,其中的信息可能已经水流花落

起因

最近有小伙伴,在使用 Maven 仓库进行搜索的时候,总是弹出验证码,这我们也能理解,防爬虫嘛,关键是验证码好复杂啊,让你在十八张低清图里找出所有自行车。这...平常在代码里找 BUG 就已经够烦的了,又让我们找,跟你们讲一般人遇到这个,忍忍也就算了,要是遇到脾气爆燥一点的程序员,那也是毫无办法。

1.png

更可气的是,我问了几个在国外同学,它们访问 mvnrepository.com 仓库从来就不弹验证码。刚开始我还不相信,然后我自己试了一下,还真就是这样。科学上网就不弹验证码,直接访问就 100% 弹。

这你们能忍呀,我是忍不了,所以咱要自己搞一个 Maven 搜索,体验要比他们好,速度还要比他们快,最重要的是所有资源都要在国内服务器上,跟国外网络没关系。

动手开发

说干就干,上周二 6.1 儿童节的时候,开始设计这个系统,然后排期是在 6 月 3 号前完成,在一些细节上,又耽误了两天,6 月 5 号晚上 10 点钟,才写完最后一行代码,收工回家。

2.png
3.png

但我没有急着上线,因为连续写了 5 天代码,人多憋慌了,昨天我就给自己放了一天假,去山上骑车了,结果还不如在家写代码。

4.png

所以今天早上我可是带着伤,给大家上线呀,来来来,大家把鼓励打在弹幕上面。好在上线还算顺利,没有为难我这个伤残人士,然后发粉丝群里试用了一下,反馈还不错。

图片

功能介绍

接下来我就简单和大家讲一下,这个系统的功能以即实现架构。

1基本查找,一个页面全部搞定

系统网址是 http://maven.coderead.cn/ ,在搜索框架中随便输入 artifactId 或 groupId 就会自动出现结果,然后你选版本复制就可以了,全部都是在一个页面完成的,不用跳来跳去。

6.gif

2 定制的模糊匹配,在长单词也不怕

有些 jar 包单词特别的长,我们记不住,这里你记得哪些就输入哪些,结果自动出现,这里用了我自研的模糊匹配算法,匹配任意单词的前几个字母,从左至右匹配。比如你搜索一个 dubbo ,结果里面会出现一堆的 dubbo, 你想找 apache ,那就把它的几几个母稍微带上,结果就出来。来我们再来输一个比较长的单词,比如(mybatis-spring-boot-starter) 输入少量几个单词即可(myspbootst:org.my)。所以有了它,连我这种只会 “How are you ,fine thank you” 的英语渣渣都不怕了。

7.gif

3 每周三定时同步,保证数据最新

系统每周三早上会去 Maven 仓库同步索引,进行热更新的,你不用担心你的 Jar 包找不到问题,这里会显示最后更新时间。

还有就是大家关心访问速度了,这里有数据都是在国内服务器上,我另外在自掏腰包花 2 千块钱买了 CDN 流量,带宽不够这种事情,在我人民币玩家面前是不存在的。还有搜索算法是专门定制的,没有依赖 lucene 或 elasticsearch 这些框架,搜索的响应都是毫秒级的,平均响应在 30 毫秒左右,在加上网络传输也就是 100 毫秒的事,用一句杜蕾斯的话就是,“你根本就感觉不到它的存在”。

4 用爱发电,永久免费,永无广告

最后一点,也是最重要一点,它是免费的,而且永久免费。广告也不可能有,也不会让你关注公众号,加小姐姐微信啥的... 咱视频为证,所以你们就放宽了心去安利给其它同学。因为这个系统用的人越多,搜索结果就会越智能,它是基于热度进行排序。但要有一天要是 CDN 流量费不够了。。。各位看着办呀!哈哈,别想多了,我的意思你们只要点一个赞,我就贴一块钱流量费,你们转发一次我就贴 10 块。

收藏起来,以备不时之需

好啦,现在大家可以收藏这个网址啦,如果有内容你搜索不到,以及任何能改善这个网站体验的建议,大家都冲我来呀。

Maven 毫秒级搜索神器 :http://maven.coderead.cn/

查看视频版介绍,更有意思

https://www.bilibili.com/video/BV1GQ4y197KJ/

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3186 引用 • 8212 回帖
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 305 关注
  • 搜索
    19 引用 • 118 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...