Elasticsearch-快问快答

2021-07-30 17:16:46 浏览数 (2)

简要介绍一下Elasticsearch

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。

ElasticSearch 是基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。

核心特点如下:

  • 分布式的实时文件存储,每个字段都被索引且可用于搜索。
  • 分布式的实时分析搜索引擎,海量数据下近实时秒级响应。
  • 简单的restful api,天生的兼容多语言开发。
  • 易扩展,处理PB级结构化或非结构化数据。

说明当前可下载的稳定Elasticsearch版本?

Elasticsearch 当前最新版本是7.14(2021年07月30日)

安装 Elasticsearch 需要依赖什么组件吗?

ES 早期版本需要JDK,在7.X版本后已经集成了 JDK,已无需第三方依赖。

分步介绍如何启动 Elasticsearch 服务器?

  • 解析配置,包括配置文件和命令行参数。
  • 检查外部环境和内部环境,例如,JVM版本、操作系统内核参数等。
  • 初始化内部资源,创建内部模块,初始化探测器。
  • 启动各个子模块和keepalive线程。

列出 10 个使用 Elasticsearch 作为其搜索引擎或数据库的公司吗?

代码语言:javascript复制
阿里
腾讯
百度
京东
美团
小米
滴滴
携程
今日头条
贝壳找房
360
IBM
顺丰快递

解释一下Elasticsearch Cluster?

Elasticsearch 集群是一组连接在一起的一个或多个 Elasticsearch 节点实例。Elasticsearch 集群的功能在于在集群中的所有节点之间分配任务,进行搜索和索引。

解释一下Elasticsearch Node?

节点是 Elasticsearch 的实例。实际业务中,我们会说:ES集群包含3个节点、7个节点。这里节点实际就是:一个独立的 Elasticsearch 进程,一般将一个节点部署到一台独立的服务器或者虚拟机、容器中。

不同节点根据角色不同,可以划分为:

  • 主节点:帮助配置和管理在整个集群中添加和删除节点。
  • 数据节点:存储数据并执行诸如CRUD(创建/读取/更新/删除)操作,对数据进行搜索和聚合的操作。
  • 协调节点:将集群请求转发到主节点,将与数据相关的请求转发到数据节点
  • 候选节点:
  • 预处理节点:

解释一下Elasticsearch集群中的索引的概念 ?

解释一下Elasticsearch 集群中的Type 的概念 ?

5.X 以及之前的 2.X、1.X 版本 ES支持一个索引多个type的,举例 ES 6.X 中的Join 类型在早期版本实际是多 Type 实现的。在6.0.0 或 更高版本中创建的索引只能包含一个 Mapping 类型。Type 将在Elasticsearch 7.0.0中的API中弃用,并在8.0.0中完全删除。

https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html

Elasticsearch的文档是什么?

文档是存储在 Elasticsearch 中的 JSON 文档。它等效于关系数据库表中的一行记录。

解释一下Elasticsearch的分片?

当文档数量增加,硬盘容量和处理能力不足时,对客户端请求的响应将延迟。在这种情况下,将索引数据分成小块的过程称为分片,可改善数据搜索结果的获取

定义副本、创建副本的好处是什么?

副本是 分片的对应副本,用在极端负载条件下提高查询吞吐量或实现高可用性。所谓高可用主要指:如果某主分片1出了问题,对应的副本分片1会提升为主分片,保证集群的高可用。

请解释在Elasticsearch 集群中添加或创建索引的过程?

在Elasticsearch 中删除索引的语法是什么?

代码语言:javascript复制
可以使用以下语法删除现有索引:DELETE <index_name>
支持通配符删除:DELETE my_*

在 Elasticsearch 中列出集群的所有索引的语法是什么?

代码语言:javascript复制
GET _cat/indices

在索引中更新 Mapping 的语法?

代码语言:javascript复制
PUT test_001/_mapping
{
  "properties": {
    "title":{
      "type":"keyword"
    }
  }
}

在Elasticsearch中 按 ID检索文档的语法是什么?

代码语言:javascript复制
GET test_001/_doc/1

解释 Elasticsearch 中的相关性和得分?

当你在互联网上搜索有关 Apple 的信息时。它可以显示有关水果或苹果公司名称的搜索结果。

  • 你可能要在线购买水果,检查水果中的食谱或食用水果,苹果对健康的好处。
  • 你也可能要检查Apple.com,以查找该公司提供的最新产品范围,检查评估公司的股价以及最近6个月,1或5年内该公司在纳斯达克的表现。

同样,当我们从 Elasticsearch 中搜索文档(记录)时,你会对获取所需的相关信息感兴趣。基于相关性,通过Lucene评分算法计算获得相关信息的概率。

ES 会将相关的内容都返回给你,只是:计算得出的评分高的排在前面,评分低的排在后面。计算评分相关的两个核心因素是:词频和逆向文档频率(文档的稀缺性)。

大体可以解释为:单篇文档词频越高、得分越高;多篇文档某词越稀缺,得分越高。

https://cloud.tencent.com/developer/article/1755542?from=article.detail.1826421

0 人点赞