zoukankan      html  css  js  c++  java
  • Hadoop基础(五十八):其他面试题ES(三)

    26、你可以列出 Elasticsearch 各种类型的分析器吗?

    Elasticsearch Analyzer 的类型为内置分析器和自定义分析器。

    • Standard Analyzer

    标准分析器是默认分词器,如果未指定,则使用该分词器。

    它基于Unicode文本分割算法,适用于大多数语言。

    • Whitespace Analyzer

    基于空格字符切词。

    • Stop Analyzer

    在simple Analyzer的基础上,移除停用词。

    • Keyword Analyzer

    不切词,将输入的整个串一起返回。

    自定义分词器的模板

    自定义分词器的在Mapping的Setting部分设置:

    PUT my_custom_index
    {
     "settings":{
      "analysis":{
      "char_filter":{},
      "tokenizer":{},
      "filter":{},
      "analyzer":{}
      }
     }
    }

    脑海中还是上面的三部分组成的图示。其中:

    “char_filter”:{},——对应字符过滤部分;

    “tokenizer”:{},——对应文本切分为分词部分;

    “filter”:{},——对应分词后再过滤部分;

    “analyzer”:{}——对应分词器组成部分,其中会包含:1. 2. 3。

    27、如何使用 Elasticsearch Tokenizer?

    Tokenizer 接收字符流(如果包含了字符过滤,则接收过滤后的字符流;否则,接收原始字符流),将其分词。同时记录分词后的顺序或位置(position),以及开始值(start_offset)和偏移值(end_offset-start_offset)。

    28、token filter 过滤器 在 Elasticsearch 中如何工作?

    针对 tokenizers 处理后的字符流进行再加工,比如:转小写、删除(删除停用词)、新增(添加同义词)等。

    29、Elasticsearch中的 Ingest 节点如何工作?

    ingest 节点可以看作是数据前置处理转换的节点,支持 pipeline管道 设置,可以使用 ingest 对数据进行过滤、转换等操作,类似于 logstash 中 filter 的作用,功能相当强大。

    30、Master 节点和 候选 Master节点有什么区别?

    主节点负责集群相关的操作,例如创建或删除索引,跟踪哪些节点是集群的一部分,以及决定将哪些分片分配给哪些节点。

    拥有稳定的主节点是衡量集群健康的重要标志。

    而候选主节点是被选具备候选资格,可以被选为主节点的那些节点。

    31、Elasticsearch中的属性 enabled, index 和 store 的功能是什么?

    • enabled:false,启用的设置仅可应用于顶级映射定义和 Object 对象字段,导致 Elasticsearch 完全跳过对字段内容的解析。

    仍然可以从_source字段中检索JSON,但是无法搜索或以其他任何方式存储JSON。

    如果对非全局或者 Object 类型,设置 enable : false 会报错如下:

    "type": "mapper_parsing_exception",
     "reason": "Mapping definition for [user_id] has unsupported parameters:  [enabled : false]"
    • index:false, 索引选项控制是否对字段值建立索引。它接受true或false,默认为true。未索引的字段不可查询。

    如果非要检索,报错如下:

     "type": "search_phase_execution_exception",
      "reason": "Cannot search on field [user_id] since it is not indexed."

    store:

    某些特殊场景下,如果你只想检索单个字段或几个字段的值,而不是整个_source的值,则可以使用源过滤来实现;

    这个时候, store 就派上用场了。

    32、Elasticsearch Analyzer 中的字符过滤器如何利用?

    字符过滤器将原始文本作为字符流接收,并可以通过添加,删除或更改字符来转换字符流。

    字符过滤分类如下:

    • HTML Strip Character Filter.

    用途:删除HTML元素,如<b>,并解码HTML实体,如&amp 。

    • Mapping Character Filter

    用途:替换指定的字符。

    • Pattern Replace Character Filter

    用途:基于正则表达式替换指定的字符。

    33、请解释有关 Elasticsearch的 NRT?

    从文档索引(写入)到可搜索到之间的延迟默认一秒钟,因此Elasticsearch是近实时(NRT)搜索平台。

    也就是说:文档写入,最快一秒钟被索引到,不能再快了。

    写入调优的时候,我们通常会动态调整:refresh_interval = 30s 或者更达值,以使得写入数据更晚一点时间被搜索到。

    34、REST API在 Elasticsearch 方面有哪些优势?

    REST API是使用超文本传输协议的系统之间的通信,该协议以 XML 和 JSON格式传输数据请求。

    REST 协议是无状态的,并且与带有服务器和存储数据的用户界面分开,从而增强了用户界面与任何类型平台的可移植性。它还提高了可伸缩性,允许独立实现组件,因此应用程序变得更加灵活。

    REST API与平台和语言无关,只是用于数据交换的语言是XML或JSON。

    借助:REST API 查看集群信息或者排查问题都非常方便。

    35、在安装Elasticsearch时,请说明不同的软件包及其重要性?

    这个貌似没什么好说的,去官方文档下载对应操作系统安装包即可。

    部分功能是收费的,如机器学习、高级别 kerberos 认证安全等选型要知悉。

    36、Elasticsearch 支持哪些配置管理工具?

    • Ansible
    • Chef
    • Puppet
    • Salt Stack是 DevOps 团队使用的 Elasticsearch支持的配置工具。

    37、您能解释一下X-Pack for Elasticsearch的功能和重要性吗?

    X-Pack 是与Elasticsearch一起安装的扩展程序。

    X-Pack的各种功能包括安全性(基于角色的访问,特权/权限,角色和用户安全性),监视,报告,警报等。

    38、可以列出X-Pack API 吗?

    付费功能只是试用过(面试时如实回答就可以)。

    7.1 安全功能免费后,用 X-pack 创建Space、角色、用户,设置SSL加密,并且为不同用户设置不同的密码和分配不同的权限。

    其他如:机器学习、 Watcher、 Migration 等 API 用的较少。

    39、能列举过你使用的 X-Pack 命令吗?

    7.1 安全功能免费后,使用了:setup-passwords 为账号设置密码,确保集群安全。

    40、在Elasticsearch中 cat API的功能是什么?

    cat API 命令提供了Elasticsearch 集群的分析、概述和运行状况,其中包括与别名,分配,索引,节点属性等有关的信息。

    这些 cat 命令使用查询字符串作为其参数,并以J SON 文档格式返回结果信息。

    41、Elasticsearch 中常用的 cat命令有哪些?

    面试时说几个核心的就可以,包含但不限于:

    含义命令
    别名 GET _cat/aliases?v
    分配相关 GET _cat/allocation
    计数 GET _cat/count?v
    字段数据 GET _cat/fielddata?v
    运行状况 GET_cat/health?
    索引相关 GET _cat/indices?v
    主节点相关 GET _cat/master?v
    节点属性 GET _cat/nodeattrs?v
    节点 GET _cat/nodes?v
    待处理任务 GET _cat/pending_tasks?v
    插件 GET _cat/plugins?v
    恢复 GET _cat / recovery?v
    存储库 GET _cat /repositories?v
    GET _cat /segments?v
    分片 GET _cat/shards?v
    快照 GET _cat/snapshots?v
    任务 GET _cat/tasks?v
    模板 GET _cat/templates?v
    线程池 GET _cat/thread_pool?v

    42、您能解释一下 Elasticsearch 中的 Explore API 吗?

    没有用过,这是 Graph (收费功能)相关的API。

    点到为止即可,类似问题实际开发现用现查,类似问题没有什么意义。

    https://www.elastic.co/guide/en/elasticsearch/reference/current/graph-explore-api.html

    43、迁移 Migration API 如何用作 Elasticsearch?

    迁移 API简化了X-Pack索引从一个版本到另一个版本的升级。

    点到为止即可,类似问题实际开发现用现查,类似问题没有什么意义。

    https://www.elastic.co/guide/en/elasticsearch/reference/current/migration-api.html

    44、如何在 Elasticsearch中 搜索数据?

    Search API 有助于从索引、路由参数引导的特定分片中查找检索数据。

    45、你能否列出与 Elasticsearch 有关的主要可用字段数据类型?

    • 字符串数据类型,包括支持全文检索的 text 类型 和 精准匹配的 keyword 类型。
    • 数值数据类型,例如字节,短整数,长整数,浮点数,双精度数,half_float,scaled_float。
    • 日期类型,日期纳秒Date nanoseconds,布尔值,二进制(Base64编码的字符串)等。
    • 范围(整数范围 integer_range,长范围 long_range,双精度范围 double_range,浮动范围 float_range,日期范围 date_range)。
    • 包含对象的复杂数据类型,nested 、Object。
    • GEO 地理位置相关类型。
    • 特定类型如:数组(数组中的值应具有相同的数据类型)

    46、详细说明ELK Stack及其内容?

    ELK Stack是一系列搜索和分析工具(Elasticsearch),收集和转换工具(Logstash)以及数据管理及可视化工具(Kibana)、解析和收集日志工具(Beats 未来是 Agent)以及监视和报告工具(例如X Pack)的集合。

    相当于用户基本不再需要第三方技术栈,就能全流程、全环节搞定数据接入、存储、检索、可视化分析等全部功能。

    47、Kibana在Elasticsearch的哪些地方以及如何使用?

    Kibana是ELK Stack –日志分析解决方案的一部分。

    它是一种开放源代码的可视化工具,可以以拖拽、自定义图表的方式直观分析数据,极大降低的数据分析的门槛。

    未来会向类似:商业智能和分析软件 - Tableau 发展。

    48、logstash 如何与 Elasticsearch 结合使用?

    logstash 是ELK Stack附带的开源 ETL 服务器端引擎,该引擎可以收集和处理来自各种来源的数据。

    最典型应用包含:同步日志、邮件数据,同步关系型数据库(Mysql、Oracle)数据,同步非关系型数据库(MongoDB)数据,同步实时数据流 Kafka数据、同步高性能缓存 Redis 数据等。

    49、Beats 如何与 Elasticsearch 结合使用?

    Beats是一种开源工具,可以将数据直接传输到 Elasticsearch 或通过 logstash,在使用Kibana进行查看之前,可以对数据进行处理或过滤。

    传输的数据类型包含:审核数据,日志文件,云数据,网络流量和窗口事件日志等。

    50、如何使用 Elastic Reporting ?

    收费功能,只是了解,点到为止。

    Reporting API有助于将检索结果生成 PD F格式,图像 PNG 格式以及电子表格 CSV 格式的数据,并可根据需要进行共享或保存。

    51、您能否列出 与 ELK日志分析相关的应用场景?

    • 电子商务搜索解决方案
    • 欺诈识别
    • 市场情报
    • 风险管理
    • 安全分析 等。

    小结

    以上都是非常非常基础的问题,更多大厂笔试、面试真题拆解分析推荐看 Elastic 面试系列专题文章。

    面试要“以和为贵”、不要搞窝里斗, Elastic 面试官要讲“面德“,点到为止!

    应聘者也要注意:不要大意!面试官都是”有备而来”,针对较难的问题,要及时“闪”,要做到“全部防出去”。

    如果遇到应聘者有回答 不上来的,面试官要:“耗子猥汁“,而应聘者要好好反思,以后不要再犯这样的错误。

    参考:

    https://www.softwaretestinghelp.com/elasticsearch-interview-questions/

     

     

    本文来自博客园,作者:秋华,转载请注明原文链接:https://www.cnblogs.com/qiu-hua/p/14117077.html

  • 相关阅读:
    绿有四季关于需求沟通
    模板引擎开发(二)值标签的处理
    Jquery插件浮动广告
    项目经理的“势能”培养
    模板引擎开发(一)
    c#读取apk 信息
    golang读取文件信息插入mongodb
    白话MongoDB(二)(转载)
    golang 读取mongob数据写入sqlserver
    golang 通用Contains方法
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/14117077.html
Copyright © 2011-2022 走看看