简单认识ElasticSearch

65 阅读1分钟

介绍

  • 一个基于Lucene的搜索服务器/搜索引擎
  • 分布式、高可扩展、高实时的搜索与数据分析引擎
  • ES是用Java开发的,并作为apahe许可条款下的开放源码发布,是一种流行的企业级搜索引擎
  • 基于RESTful web接口
  • 基于Lucene二次封装的搜索引擎
    • 还有:solr

应用场景

  • 海量数据查询 因为部署相对麻烦,所以但对于少量数据,使用常规数据库即可
  • 日志数据分析
  • 实时数据搜索

相关问题

为什么不使用关系型数据库查询?

  1. 性能低
  • 模糊查询会导致索引失效
  • 要进行全表扫描,网络传输慢,系统处理慢(IO、数据量大时,索引量也很大,检索遍历CPU消耗大)
  1. 功能弱
    • 无法分词查询

ES是否可以完全替换关系型数据库?

  • 不能

    1. MySQL有事务性,而ES没有,所以在ES中删除数据是无法恢复的
    2. ES没有物理外键这个特性
  • ES和MySQL分工

    • MySQL:负责存储数据、简单查询
    • ES:负责分词、复杂查询