创建悟空搜索引擎项目的初衷有两个。
在网上浏览经常发现一些优秀的网站没有像样的内容搜索服务。网站的建设者投入巨大的时间和精力,为读者创造了丰富的阅读内容,却因为缺少好的搜索引擎极大降低了信息的流动性,新的内容源源不断被推送到首页,而旧的内容却被积压在N页之后变得默默无闻。这种基于时间轴的推荐,以及其它的种种推荐系统,其实都是在忽视和打压用户作为信息搜寻者的主观能动性。一个普遍现象是,很少有网站具备一个易用的、即时的、全文的和高质量的搜索引擎,久而久之,这让用户忘记了自己应该有这种主动搜寻信息的能力,于是用户不再在阅读时搜索,网站搜索缺乏搜索流量,这形成恶性循环。
通用的搜索引擎并不能解决这个问题:首先,不能有针对性的垂直搜索,对内容的抓取和索引简单粗暴,无法得到结构化数据,看不到隐藏的内容属性;其次,通用搜索引擎对内容的排序无法进行定制,实时性不够,无法成为网站社区的有机的一部分。
一个好的网络社区应该允许用户在阅读时搜索,搜索成为阅读的一部分;网站内部的流量应该是个性化的、有机的,而不应该由生硬的推荐系统主导用户阅读的方向。很可惜这样的网络社区很少,这种局面的造成一部分是因为缺乏一个开源的、容易定制的、高效的搜索引擎的存在。
这个项目就是为了实现这样理想的一个尝试。
另一个目的就是工程上的好奇心。所有的软件工程师都应该对搜索引擎技术有好奇心,因为这是信息检索技术的核心,是将互联网的知识整合起来的关键,稍加变化可以用来解决较小规模的相关问题;所有致力于将信息提供给用户的工程师都应当使用搜索引擎技术,帮助普通人更容易地获得他们想要的知识;所有大数据领域的工程师都应该在职业生涯的某个时刻试着重写一个搜索引擎,了解一下其中的技术问题,并尝试去解决这些问题。
这个项目就是为了满足这样好奇心的一个实验。