1、什么是ElasticSearch?
Elasticsearch是一个基于Lucene的全文搜索引擎,也可称分布式搜索引擎,用于Java开发的,且开源,具有Http Web和无框架Json文档的分布式。
2、ElasticSearch中的集群、节点、索引、文档、类型是什么?
集群:是一个或多个服务器的集合,共同保存数据并提供所有节点的联合索引和搜索功能。集群有唯一标志,为"ElasticSearch"。
节点:节点是属于集群一部分的单体服务器,储存有数据并参与集群索引和搜索功能。如果节点设置为按名称加入集群,则该节点只能是集群的一部分。
索引:类似关系型数据库中的数据库,有一个定义多重类型的映射。索引是逻辑名称空间,可映射到一个或多个主分片,并且可以有不限个数的副本分片。
文档:文档类似关系型数据库中的数据行,不同的是处在索引中的文档可以有不同的结构或字段,但是通用字段应该具有相同的数据类型。
3、ElasticSearch中的分片是什么?
谈到分片需要谈到索引,索引是类似关系型数据库中的数据库,有一个定义多重类型的映射。索引是逻辑名称空间,可映射到一个或多个主分片,并且可以有不限个数的副本分片。因此分片是索引被分割成分布在多个节点上的元素。
4、ElasticSearch特点
1、Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎
(1)查询:搜索方式随心而变。
(2)分析:可探索数据的趋势和模式。
(3)速度:速度快。
(4)可扩展性:个人和企业服务器上都可用。
(5)弹性:Elasticsearch 运行在一个分布式的环境中。
(6)灵活性:具备多个案例场景,支持所有数据类型
(7)HADOOP & SPARK : Elasticsearch + Hadoop
2、Elasticsearch是一个高度可伸缩的开源全文搜索和分析引擎。它允许您快速和接近实时地存储、搜索和分析大量数据。
这里有一些使用Elasticsearch的用例:
(1)网上商店。
(2)分析、调研日志或事务数据。
(3)实时调度用户关注信息的推送。
(4)结合Kibana (Elasticsearch/ loghide /Kibana堆栈的一部分)来构建自定义仪表板,以可视化自定义数据。此外,还可以使用Elasticsearch聚合功能对数据执行复杂的业务智能查询。
5、谈谈分词与倒排索引的原理
分词:分词用于检索,英文的分词是按单词之间空格区分,中文要考虑效率和准确分词率,防止出现歧义。
倒排:根据文档内容找文档,从关键字去找文档。