前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apache Zeppelin 中 Elasticsearch 解释器

Apache Zeppelin 中 Elasticsearch 解释器

作者头像
片刻
发布2018-01-05 16:51:22
1.6K0
发布2018-01-05 16:51:22
举报
文章被收录于专栏:AILearningAILearning

概述

Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速,实时地存储,搜索和分析大量数据。它通常用作为具有复杂的搜索功能和要求的应用程序提供的底层引擎/技术。

配置

属性

默认

描述

elasticsearch.cluster.name

elasticsearch

群集名称

elasticsearch.host

localhost

集群中节点的主机

elasticsearch.port

9300

连接端口(重要提示:它取决于客户端类型,传输或http)

elasticsearch.client.type

transport

Elasticsearch(transport或http)的客户端类型(Important:端口取决于此值)

elasticsearch.basicauth.username

基本认证用户名(http)

elasticsearch.basicauth.password

基本认证密码(http)

elasticsearch.result.size

10

搜索查询结果集的大小

注意#1:您可以添加更多属性来配置Elasticsearch客户端。 注意#2:如果使用Shield,您可以添加一个名称为shield.user包含名称和密码(格式:)的值的属性username:password。有关Shield配置的更多详细信息,请参阅Shield参考指南。不要忘记,在解释器目录(ZEPPELIN_HOME/interpreters/elasticsearch)中复制屏蔽客户端jar 。

启用弹性搜索解释器

在笔记本中,要启用弹性搜索解释器,请单击齿轮图标,然后选择弹性搜索

使用弹性搜索解释器

在段落中,用于%elasticsearch选择Elasticsearch解释器,然后输入所有命令。要获取可用命令的列表,请使用help

%elasticsearch help    Elasticsearch interpreter: General format: <command> /<indices>/<types>/<id> <option> <JSON>   - indices: list of indices separated by commas (depends on the command)   - types: list of document types separated by commas (depends on the command) Commands:   - search /indices/types <query>     . indices and types can be omitted (at least, you have to provide '/')     . a query is either a JSON-formatted query, nor a lucene query   - size <value>     . defines the size of the result set (default value is in the config)     . if used, this command must be declared before a search command   - count /indices/types <query>     . same comments as for the search   - get /index/type/id   - delete /index/type/id   - index /index/type/id <json-formatted document>     . the id can be omitted, elasticsearch will generate one

提示:使用(Ctrl +。)进行自动完成。

得到

使用get命令,您可以通过ID查找文档。结果是一个JSON文档。

%elasticsearch get /index/type/id

例: 

搜索

使用该search命令,您可以向Elasticsearch发送搜索查询。有两种查询格式:

  • 您可以提供JSON格式的查询,这正是您在使用Elasticsearch的REST API时提供的。
  • 您还可以提供a的内容query_string

%elasticsearch search /index1,index2,.../type1,type2,...  <JSON document containing the query or query_string elements>

如果要修改结果集的大小,可以在搜索命令之前添加一个设置大小的行。

%elasticsearch size 50 search /index1,index2,.../type1,type2,...  <JSON document containing the query or query_string elements>

搜索查询还可以包含聚合。如果至少有一个聚合,则显示第一个聚合的结果,否则显示搜索命中。

例子:

  • 使用JSON查询: %elasticsearch search / { "query": { "match_all": { } } } %elasticsearch search /logs { "query": { "query_string": { "query": "request.method:GET AND status:200" } } } %elasticsearch search /logs { "aggs": { "content_length_stats": { "extended_stats": { "field": "content_length" } } } } 
  • 使用query_string元素: %elasticsearch search /logs request.method:GET AND status:200 %elasticsearch search /logs (404 AND (POST OR DELETE)) 

重要提示:Elasticsearch中的文档是一个JSON文档,因此它是层次结构的,而不是SQL表中的一行。对于弹性解释器,搜索查询的结果是平坦的。

假设我们有一个JSON文档:

{   "date": "2015-12-08T21:03:13.588Z",   "request": {     "method": "GET",     "url": "/zeppelin/4cd001cd-c517-4fa9-b8e5-a06b8f4056c4",     "headers": [ "Accept: *.*", "Host: apache.org"]   },   "status": "403",   "content_length": 1234 }

数据将如下所示:

CONTENT_LENGTH

日期

request.headers [0]

request.headers [1]

request.method

request.url

状态

1234

2015-12-08T21:03:13.588Z

Accept: *.*

Host: apache.org

GET

/zeppelin/4cd001cd-c517-4fa9-b8e5-a06b8f4056c4

403

例子:

  • 包含结果的表格:
  • 您还可以使用预定义的图表: 
  • 使用JSON查询:
  • 使用包含fields参数(用于过滤响应中的字段)的JSON查询:在这种情况下,响应中的所有字段值都是数组,因此,在平坦化结果之后,所有字段名称的格式为field_name[x]
  • 使用查询字符串: 
  • 使用包含多值度量聚合的查询:
  • 使用包含多桶聚合的查询:

计数

使用该count命令,您可以对某些索引和类型中可用的文档进行计数。您还可以提供查询。

%elasticsearch count /index1,index2,.../type1,type2,... <JSON document containing the query OR a query string>

例子:

  • 没有查询: 
  • 有一个查询: 

指数

使用该index命令,您可以在Elasticsearch中插入/更新文档。

%elasticsearch index /index/type/id <JSON document>    %elasticsearch index /index/type <JSON document>

删除

使用该delete命令,您可以删除文档。

%elasticsearch delete /index/type/id

应用Zeppelin动态表单

您可以在查询内使用Zeppelin 动态表单。您可以同时使用text inputselect form参数化功能。

%elasticsearch size ${limit=10} search /index/type { "query": { "match_all": { } } }

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-06-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 配置
  • 启用弹性搜索解释器
  • 使用弹性搜索解释器
    • 得到
      • 搜索
        • 计数
          • 指数
            • 删除
              • 应用Zeppelin动态表单
              相关产品与服务
              Elasticsearch Service
              腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档