论文部分内容阅读
随着互联网的快速发展,大量的应用被开发出来,以满足用户不断上涨的使用需求。在一个新出现的需求面前,赶在同类的相似的应用大量喷发之前,在第一时间完成开发,发布给用户,占领第一片地的应用,往往成为该领域行业的翘楚。因此开发速度是各个互联网软件厂商、软件团队攻城略地的重中之重。为了让应用尽早的面向用户,开发者往往会在应用中使用专业的第三方的能力组件,以缩短开发周期和成本。
本课题先研究了被广为推崇的MVC软件开发模式。为了解决其学习成本较高,抽象不够清楚等问题,本课题提出了“搜索-呈现”设计模式和与之相适应的通用搜索能力组件。
在“搜索-呈现”模式中,应用开发者使用通用搜索能力提供的类似搜索的接口去存储或获取实际的内容,并负责呈现的渲染。该模式中的通用搜索能力提供对于文档、标签、得分的处理能力,允许第三方应用通过接口提交原始数据,支持第三方应用使用结构化的搜索语句进行查询,并返回搜索结果。通用搜索能力的引入,大大减少了开发周期和成本,并且由于通用搜索能力可以提供平滑扩展的能力,从而使之更适应当前开发者的应用需求。
通用搜索能力部分由分词模块、合并筛选模块、索引存储模块、排序模块以及接口模块组成。本文中为了测试通用搜索能力的实时索引性能,对基于Lucene和MySQL的倒排索引实现进行了性能比较测试。最后本论文中基于“搜索-呈现”模式和通用搜索能力实现了一个示例应用,验证了“搜索-呈现”模式和通用搜索能力的可行性。