ElasticSearch是什么?(看不懂我吃 - - - -> S)
ElasticSearch是什么 ?WTFuck?
Shay Banon认为自己参与Lucene完全是一种偶然,当年他还是一个待业工程师,跟随自己的新婚妻子来到伦敦,妻子想在伦敦学习做一名厨师,而自己则想为妻子开发一个方便搜索菜谱的应用,所以才接触到Lucene。直接使用Lucene构建搜索有很多问题,包含大量重复性的工作,所以Shay便在Lucene的基础上不断地进行抽象,让Java程序嵌入搜索变得更容易,经过一段时间的打磨便诞生了他的第一个开源作品“Compass”,中文即“指南针”的意思。之后,Shay找到了一份面对高性能分布式开发环境的新工作,在工作中他渐渐发现越来越需要一个易用的、高性能、实时、分布式搜索服务,于是他决定重写Compass,将它从一个库打造成了一个独立的server,并将其改名为Elasticsearch。
ElasticSearch是一款基于Apache Lucene构建的开源搜索引擎,它采用Java编写并使用Lucene构建索引、提供搜索功能,ElasticSearch的目标是让全文搜索变得简单,开发者可以通过它简单明了的RestFul API轻松地实现搜索功能,而不必去面对Lucene的复杂性。ES能够轻松的进行大规模的横向扩展,以支撑PB级的结构化和非结构化海量数据的处理。
一言以蔽之:ElasticSearch是一款基于Lucene的实时分布式搜索和分析引擎。
ElasticSearch设计主要用于云计算中,能够达到实时搜索、稳定、可靠、快速,安装使用也非常方便。
ES的发展异常迅猛,下面是发展以及和solr简单的对比情况。
之前官网为elasticsearch,太长了不便记忆了,就改为elastic.co,官网地址:www.elastic.co
- ES和SOLR对比
接口
类似webservice的接口
REST风格的访问接口
分布式存储
solrCloud solr4.x才支持
es是为分布式而生的
支持的格式
solr xml json
es json
近实时搜索
- ES和MySQL的对比
MySQL |
ElasticSearch |
database(数据库) |
index(索引库) |
table(表) |
type(类型) |
row(行) |
document(文档) |
column(列) |
field(字段) |