了解elasticSearch必须先知道lucene:lucene是一套信息检索工具包,也就是一个jar包,不包含搜索引擎系统;其中包含:索引结构,读写索引的工具,排序,搜索规则…工具类。lucene封装在solr和elasticSearch中,通过api访问。
ElasticSearch是基于Lucene做了一些封装和增强。可以近乎实时的存储、检索数据(实时取决于索引多久更新一次);本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。对外的接口是RESful API。
使用场景比如日志数据分析,它的三板斧:ELK:elasticSearch+logstash+kibana
1、对于单纯已有的数据进行搜索的时候,solr更快。
2、当建立实时索引的时候,solr会产生io阻塞,查询性能比较差,则更适合使用es。
3、随着数据量的增加,solr的效率会变低,es则没有明显的变化。
4、solr使用zk进行分布式管理,es自身带有分布式协调管理功能。
5、solr支持json、xml、csv,es仅支持json。
6、solr查询快,更新索引慢,也就是插入和删除会慢。es建立索引快,实时查询快。
注意,安装包默认运行期起来需要1g的内存,可以改小一点



