【前提:】
目前大部分的数据库在提取数据方面是非常薄弱的,虽然它们可以通过时间戳或相关的数值来进行内容的筛选,但是它们无法在全文搜索的同时做到同义词或相关性的搜索,它们也无法获取相同内容的数据。这个看着很有意思,就像我们的搜索引擎,肯定跟一个小小管理系统中的条件搜索不一样,更何况,面对如此巨大的数据量,一个普通的管理系统中能做的无非就是数据表结构进行调整,或者SQL语句进行优化,而对于实时性的问题,数据量级别达到一定程度,就立马傻眼了。以上这些都是ES突出的原因,
我现在的项目并没有用ES,但作为一个高效、实时的分布式搜索、分析引擎,而且它可以帮助你浏览并利用那些已经快要烂在数据库里那些极难查询的数据。所以,你给自己一个不得不学习的理由。
【介绍:】
Elasticsearch是一个基于Lucene的搜索服务器,可以说是基于Lucene开发的一个搜索服务器应用。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。ElasticSearch是用java开发的,并作为Apache许可条款下的开放源码发布,是当前流向的企业级搜索引擎,能够达到实时搜索、稳定、可靠、快速,安装使用方便。它可以帮助你用前所未有的速度去处理大规模数据,并可以用全文搜索、结构化搜索以及分析或将三者综合使用去查询庞大的数据。
应用:
稍微提一下它的应用,作为额外了解,也顺便看看都哪些神奇的应用在应用ES
- 维基百科使用ES来进行全文搜索并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能
- 英国卫报使用