SoEasy——经纬自己的搜索

标准
赞 (0)

经过一个多学期断断续续的开发,Soeasy终于在这个特别的日子和大家见面了。这真是一件值得高兴的事。

这一个多学期里,我非常庆幸自己坚持了来了,真的。学习Lucene的过程中,让我和搜索底层的技术进行了亲密的接触,那种把数据结构和算法优化到极致的感觉是在课堂和书本上无法体会到的。处理中文分词模块的时候,我对自然语言处理以及人工智能技术产生了浓厚的兴趣,虽然因为精力和时间关系没能自己开发一个中文分词器,但我想往后的一段时间我会朝这方面发展。

自然语言处理目前是世界难题,但应用前景非常可观。我爱看科幻篇,我有时候睡觉都想,会不会自然语言处理被完美解决后,人工智能时代就快要来临了?

Soeasy的开发,我选择了Java平台而没有用经纬惯用的DotNet平台。原因之一是我喜欢开源,开发过程中可以找到更多的资料;原因之二,我认为拓垦不能拘泥于单一平台,应该多尝试其他技术,敢于尝试是创新的前提。

若说到收获,由于索引部分用的是Lucene,分词用的IKAnalyzer,这并不是自己的技术,但经历了Soeasy的开发,我学到最多的是系统层面的设计经验。从刚开发到现在的alpha版,我进行了三次重构,有一次是整体架构上的调整,把之前的改得面目全非,但借助于SVN一切进行得非常轻松,这也是我为什么在团队里要求使用SVN的原因。

目前Soeasy处于alpha版,有些接口还没稳定下来,特性如下:

1.提供了基本的全文检索功能

2.可根据配置从数据库拉取数据

3.支持多站点索引

从设计之初就留有网页索引的接口,soeasy最终定位为武汉理工大学校内搜索,目前仅完成了经纬网站内检索。

由于在校时间已经不长,Soeasy的完善还需要有此兴趣的拓垦人做更多的努力。比如:搜索建议功能,这是一项非常实用的功能,如果深入研究它,我相信一定会有非常多的收获;还有搜索底部“相关搜索”提示,还有“您是不是要找…”搜索纠正等,都有一定的技术内涵,值得大家去学习研究。

大家可能注意到了,谈Soeasy的时候,用的“我”而不是“我们”,我衷心地希望这是技术部最后一个孤军奋战做出来的产品,希望技术部同学多多交流、多多合作,智慧的火花就是在讨论的时候擦亮的!

Leave a Reply

%d 博主赞过: