1.5 扩展知识与阅读
对大型网站来说,对于那些“本周有多少新注册用户?”“广告的投放效果如何?”等诸如此类的统计工作来说,Elastic Stack以其灵活的处理、简易的配置、近乎实时的检索、方便的集群可扩充性、可视的数据挖掘结果等诸多优点,成为分布式搜索与日志挖掘及可视化的首选方案之一。从广义上说,Elasticsearch也属于数据库范畴,但它能够轻松地进行大规模的横向扩展,以支持对PB级的结构化和非结构化海量数据的处理。由于关系型数据库对全文检索功能的支持相对不足(如传统关系型数据库不能很好地解决大数据带来的问题,单机的统计和可视化工具也往往比较欠缺),所以一些实际项目需要将关系型数据库中的大数据同步到Elasticsearch中,以提供更加强大的全文检索功能。众所周知,Elasticsearch和Solr、Nutch等都是基于Lucene构建的。了解Lucene的前世今生,更加有助于学习Elasticsearch。有关Lucene的更详细的内容,参见文献[Michael,2011]。文献[韩陆,2014]介绍了基于Java标准规范实现RESTful的方法,这对于深刻理解JAX-RS标准和API设计,了解Jersey的使用要点和实现原理,以及基于RESTful的Web服务的设计思想,是很有帮助的。文献[杨传辉,2014]系统讲述了构建大规模存储系统的核心技术和原理,分析了Google、Amazon、Microsoft和阿里巴巴的大规模分布式存储系统的原理。有关现代信息检索发展、倒排索引构建、搜索引擎系统研发等可以参阅[Ricardo,2012][高凯,2014]。有关信息检索、搜索引擎等核心技术的通俗叙述,可以参阅文献[吴军,2013]。Elasticsearch扩展性非常好,有很多官方和第三方开发的插件。