论文部分内容阅读
车载导航软件在人们的日常生活中应用十分广泛,而POl(point of interest)检索也是车载导航系统的重要功能之一。大部分的车载导航软件都能够联网,并使用在线的POI检索。在线POI检索的功能十分全面,能够进行关键字的搜索,包括沿途搜索和周边搜索。但是在离线情况下,车载导航系统的POI检索功能却不够全面。一方面是由于传统车机硬件上的限制,无法与服务器匹敌;另一方面也是由于实现方案的落后,并没有采取在线POI检索的方案,都是一些较为简单的搜索策略。如今,车机的性能也越来越好,有必要加强离线POI检索的功能。斑马网络技术有限公司认识到了离线POI检索的问题,重新开发了车载导航软件的离线POI检索。本人有幸参加到了离线POI检索系统的开发,它参考了在线POI检索的实现方法,完善和丰富了离线POI检索的功能。斑马网络的车载导航软件的离线POI检索系统被划分成了索引构建、分词分析、基础查询、归并排序和输入提示的5个模块。其中,索引构建模块主要用于数据维护端,在数据进行大更新后会重新生产数据,推送到用户的车机,其余4个模块都是属于离线POI检索系统的,共同来完成离线POI检索系统的功能。本文将车载导航软件的离线POI检索主要功能分成了三个部分进行说明:第一部分是输入提示部分,运用了 Trie树结构来组织索引,并将汉字和拼音的Trie树相互关联,来实现拼音和汉字对POI的提示;第二部分是周边检索和沿途检索的处理,利用Trie树的结构来组织构建Geohash编码的索引,不仅能够提升效率,还能够完善功能;第三部分是关键词的查询,通过对分词分析后的结果,将同义词、分词结果通过了查询树的结构去组织,并基于查询树的特点去利用倒排索引的查询,得到最终的POI结果。目前该离线POI系统功能已经完善,效率也基本达到要求。从测试效果上来看,新的离线POI检索系统功能更多,检索质量也更好。当然,检索系统还需要做一些产品化的测试,距离真正被使用在车上还需要一段时间。