ElasticSearch是Java开发并且是当前最流行的开源的企业级搜索引擎,能够达到近实时搜索,稳定可靠快速安装使用方便。客户端支持Java, .net各种编程语言。
ElasticSearch通Lucene的比较。Lucene只能在Java项目中使用,并且要以jar包的方式直接集成在项目中,而且Lucene的配置十分复杂,不支持集群环境,如果索引太多的话会占用磁盘空间。
ElasticSearch和sorl的比较。对单纯的已有数据进行搜索时,solr更快。当实时建立索引时,solr会产生io阻塞查询性能差,ElasticSearch有明显的优势。
哪些公司在使用ElasticSearch?京东,携程,去哪儿,GitHub,哔哩哔哩等等。
ElasticSearch底层原理:
1) 分词原理之倒序索引
2)ElasticSearch的核心概念。
客户端 Kibana
IK分词器(ik_smart, ik_max_word, standard)
索引
映射
字段
字段类型
文档
集群
节点
分片shard 是为了解决分布式存储的问题。
副本 replicates 为了做冗余备份。主分片和副本不能存在同一个节点。副本可以用来查询。
ElasticSearch不建议使用root用户启动,需要给普通用户sodu权限。
ElasticSearch的查询语言DSL是json格式的,分为Query和Filter两种。