elasticsearch Action分析

在ES中,Transport*Action 是比较核心的类集合。这里至少有两组映射关系。

Action -> Transport*Action
Transport*Action -> *TransportHandler

对应的功能是,可以通过Action 找到对应的TransportAction,这些TransportAction 如果是query类,则会调用SearchServiceTransportAction,并且通过第二层映射找到对应的Handler,否则可能就直接通过对应的Service完成操作。

第一层映射关系由类似下面的代码在ActionModule中完成:

第二层映射目前看来只有在查询相关的功能才有,其他的Transport*Action 则只调用对应的Service 来完成实际的操作。类似 SearchServiceTransportAction ,可以看做是SearchService进一步封装。如下:

原文地址:https://www.cnblogs.com/wzj4858/p/8124780.html

时间: 2024-10-25 06:14:15

elasticsearch Action分析的相关文章

ElasticSearch评分分析 explian 解释和一些查询理解

ElasticSearch评分分析 explian 解释和一些查询理解 按照es-ik分析器安装了ik分词器.然后创建了一个索引用来演示,创建索引:PUT /index_ik_test.索引的结构如下: GET index_ik_test/_mapping { "index_ik_test": { "mappings": { "fulltext": { "properties": { "content":

搭建办公环境ElasticSearch 日志分析系统

搭建办公环境ElasticSearch 日志分析系统 ? 计划将公司的防火墙+交换机+服务器(centos7)+ Vmware+Windows server纳入到监控范围,所以开启了ELK监控之旅. ? 本文采用ELK架构栈进行组建,万丈高楼平地起,虽然开始比较简陋,后期会不断完善这个日志分析系统. ? 全文框架如下: ? Hillstone: syslog→logstash→elasticsearch→kibana ? H3C: syslog→logstash→elasticsearch→ki

index action分析

上一篇从结构上分析了action的,本篇将以index action为例仔分析一下action的实现方式. 再概括一下action的作用:对于每种功能(如index)action都会包括两个基本的类*action(IndexAction)和Transport*action(TransportIndexAction),前者类中会有一个实例(IndexAction INSTANCE = new IndexAction())这个实例用于client绑定对应的TransportAction(regist

ElasticSearch Recovery 分析

上周出现了一次故障,recovery的过程比较慢,然后发现Shard 在做恢复的过程一般都是卡在TRANSLOG阶段,所以好奇这块是怎么完成的,于是有了这篇文章 这是一篇源码分析类的文章,大家需要先建立一个整体的概念,建议参看 这篇文章 另外你可能还需要了解下 Recovery 阶段迁移过程: INIT -> INDEX -> VERIFY_INDEX -> TRANSLOG -> FINALIZE -> DONE 概览 Recovery 其实有两种: Primary的迁移/

Logstash与Elasticsearch日志分析系统搭建

logstash(1.4.2)是一个不错的日志监控与分析工具,数据通过logstash使用后端的ElasticSearch(1.1.1)集群完成数据索引,以供后续的查询.分析使用.版本必须保持兼容否则报一下错误 Upgrade Required Your version of Elasticsearch is too old. Kibana requires Elasticsearch 0.90.9 or above. Error Could not reach http://182.92.7.

ElasticSearch聚合分析

聚合用于分析查询结果集的统计指标,我们以观看日志分析为例,介绍各种常用的ElasticSearch聚合操作. 目录: 查询用户观看视频数和观看时长 聚合分页器 查询视频uv 单个视频uv 批量查询视频uv Having查询 根据 count 进行过滤 根据其它指标进行过滤 首先展示一下我们要分析的文档结构: { "video_id": 1289643545120062253, // 视频id "video_uid": 3931482202390368051, //

Elasticsearch启动分析与问题解决-bootstrap checks

[TOC] 0 说明 使用的es版本为5.6,Linux版本为CentOs 6.5. 1 Elasticsearch bootstrap checks 1.1 开发环境 如果在es的配置中没有配置network.host来指定一个可用的IP地址的话,默认情况下,就绑定到localhost上,此时es会认为用户只是在开发环境下使用es,基于开箱即用的原则,虽然es此时也会进行bootstrap checks,来检查用户的配置是否与es设定的安全值相匹配,如下: 如果匹配,则不会有warnning信

Elasticsearch的分析过程,内置字符过滤器、分析器、分词器、分词过滤器(真是变态多啊!美滋滋)

分析过程 当数据被发送到elasticsearch后并加入倒排序索引之前,elasticsearch会对文档进行处理: 字符过滤:使用字符过滤器转变字符. 文本切分为分词:将文本(档)分为单个或多个分词. 分词过滤:使用分词过滤器转变每个分词. 分词索引:最终将分词存储在Lucene倒排索引中. 整体流程: 目的是达到人性化的分词 内置字符过滤器 HTML字符过滤器.映射字符过滤器.模式替换过滤器 HTML字符过滤器 POST _analyze { "tokenizer": "

ElasticSearch 问题分析:No data nodes with HTTP-enabled available

环境:ES-5.4.0版本,部署方式:3master+2client+3datanode 说明:datanode和client都配置了http.enabled: false,程序在写数据时报错:No data nodes with HTTP-enabled available 源码分析: public static void filterNonDataNodesIfNeeded(Settings settings, Log log) { if (!settings.getNodesDataOnl