Java面试系列-ElasticSearch面试题20道,文档,索引,搜刮,聚合,分词器, ...

打印 上一主题 下一主题

主题 1037|帖子 1037|积分 3111

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Gitee链接地址,发起收藏,后续我会对专栏进行整理,每篇文章进行校正和调整,然后同一存放在gitee仓库中
1. Elasticsearch的根本架构是什么?

答案
Elasticsearch的根本架构包括以下几个主要组件:


  • Node:一个Elasticsearch实例,可以是集群的一部门。
  • Cluster:一组节点,协同工作以提供扩展性和高可用性。
  • Index:文档的聚集,类似于关系数据库中的表。
  • Type:已废弃的概念,从前用于表现索引中的差别文档范例。
  • Document:索引中的根本单元,类似于关系数据库中的行。
  • Shard:索引的物理划分,每个索引可以有多个分片。
  • Replica:分片的副本,用于进步可用性和查询性能。
2. Elasticsearch中的Shard和Replica是如何工作的?

答案


  • Shard:每个索引可以分为多个分片,每个分片是一个独立的Lucene索引。分片可以分布在整个集群的节点上,实现水平扩展。
  • Replica:每个分片可以有多个副本,副本用于进步可用性和查询性能。如果主分片不可用,副本可以提拔为主分片。
  • 作用:分片用于扩展存储和查询能力,副本用于进步可用性和读取性能。
3. Elasticsearch中的文档是如何存储的?

答案


  • 倒排索引:Elasticsearch使用倒排索引存储文档,倒排索引将文档中的词映射到包含这些词的文档列表。
  • 字段存储:文档的原始内容可以存储在字段中,用于检索和显示。
  • 分词器:文档在存储前会被分词器处理,生成词条,用于构建倒排索引。
4. Elasticsearch中的索引是如何创建的?

答案


  • API:通过REST API或客户端库创建索引。
  • 映射:创建索引时可以指定映射(mapping),定义字段的数据范例和属性。
  • 设置:可以设置索引的分片数和副本数等属性。
示例代码
  1. PUT /my-index
  2. {
  3.    
  4.   "settings": {
  5.    
  6.     "number_of_shards": 3,
  7.     "number_of_replicas": 2
  8.   },
  9.   "mappings": {
  10.    
  11.     "properties": {
  12.    
  13.       "title": {
  14.     "type": "text" },
  15.       "date": {
  16.     "type": "date" }
  17.     }
  18.   }
  19. }
复制代码
5. Elasticsearch中的搜刮是如何工作的?

答案


  • 查询解析:查询请求被解析成内部查询结构。
  • 分片查询:查询请求被分发到所有相关的分片。
  • 结果合并:每个分片返回的结果被合并,生成最终的搜刮结果。
  • 评分:使用TF-IDF等算法对文档进行评分,按评分排序。
6. Elasticsearch中的聚合是如何工作的?

答案


  • 聚合:聚合操作用于对搜刮结果进行统计分析,如计数、求和、平均值等。
  • 分片聚合:聚合操作在每个分片上独立实行,结果被合并。
  • 桶和度量:聚合可以分为桶聚合(如terms、range)和度量聚合(如avg、sum)。
示例代码
  1. GET /my-index/_search
  2. {
  3.    
  4.   "size": 0,
  5.   "aggs": {
  6.    
  7.     "by_category": {
  8.    
  9.       "terms": {
  10.    
  11.         "field": "category"
  12.       }
  13.     }
  14.   }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莫张周刘王

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表