文档章节

【Elasticsearch】Indices APIs

HarryWu
 HarryWu
发布于 2016/04/11 14:36
字数 548
阅读 29
收藏 0
点赞 1
评论 0


一、Bulk API

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html

The bulk API makes it possible to perform many index/delete operations in a single API call. This can greatly increate the indexing speed.


The REST API endpoint is /_bulk ,and it expects the following JSON structure:

actiion_and_meta_data\n
optional_source\n
actiion_and_meta_data\n
optional_source\n
...
...
actiion_and_meta_data\n
optional_source\n

The possible actions are index,create,delete and update.

二、Put Mapping

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html

Put Mapping API 能够让你为存在的Index创建新的Type,或是为存在的Type创建新的Fields。(The Put mapping API allows you to add a new type on an existing index,or new fields to an existing type)

curl -XPUT 'http://localhost:9200/twitter' -d '{       
  "mappings": {
    "tweet": {
      "properties": {
        "message": {
          "type": "string"
        }
      }
    }
  }
}'                            ==> 创建Index:twitter,创建Type:tweet,创建Fields:message

curl -XPUT 'http://localhost:9200/twitter/_mapping/tweet' -d '{
  "properties": {
    "user_name": {
      "type": "string"
    }
  }
}'                            ==> 为Type:tweet,新增Fields:user_name

curl -XPUT 'http://localhost:9200/twitter/_mapping/user' -d '{
  "properties": {
    "name": {
      "type": "string"
    }
  }
}'                            ==> 为Index:twitter,新增Type:user,和新的Fields:name

Multi-Index:

curl -XPUT 'http://localhost:9200/my_index' -d '{
  "mappings": {
    "user": {
      "properties": {
        "name": {
          "properties": {
            "first": {
              "type": "string"
            }
          }
        },
        "user_id": {
          "type": "string",
          "index": "not_analyzed"
        }
      }
    }
  }
}'                ==>创建Index:my_index,并拥有一个Type:user。Type:user拥有两个Fields:name,first


curl -XPUT 'http://localhost:9200/my_index/_mapping/user' -d '{
  "properties": {
    "name": {
      "properties": {
        "last": {                ==> 在存在的Fields新增properties
          "type": "string"
        }
      }
    },
    "user_id": {
      "type": "string",
      "index": "not_analyzed",
      "ignore_above": 100        ==> 更新原有的ignore_above从0到100
    }
  }
}'               ==>

三、Index Templates

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html

Index Templates 当你定义了一个template。新的indx创建时候,只有匹配到template的pattern string。该template的settings,mappings,alias定义就会被应用到新创建的index上。(Index Templates allow you to define templates that will automatically be applied when new indices are created.The templates include both settings and mappings and a simple pattern template that controls whether the templates should be applied to the new index.)

Note: Templates are only applied at index creation time.Changing a template will have no impact on existsing indices.

curl -XPUT 'localhost:9200/_template/template_1' -d 
'{
  "template": "te*",        ==> pattern
  "mappings": {
    "type1": {
      "_source": {
        "enabled": false
      },
      "properties": {
        "host_name": {
          "type": "string",
          "index": "not_analyzed"
        },
        "create_at": {
          "type": "date",
          "format": "EEE MMM dd HH:mm:ss Z YYYY"
        }
      }
    }
  }
}'        ==> Define a template named template_1,with a template pattern of te*.The mappings will be applied to any index name that matches the te* template

Multiple Template Matching:

Multiple index templates can potentially match an index,in this case,both the settting and mappings are merged into the final ocnfiguration of the index.The order of the merging can be controlled useing order parameter,with lower order being applied first, and higher orders overriding them.

curl -XPUT localhost:9200/_template/template_1 -d '{
    "template" : "*",
    "order" : 0,
    "settings" : {
        "number_of_shards" : 1
    },
    "mappings" : {
        "type1" : {
            "_source" : { "enabled" : false }
        }
    }}'

curl -XPUT localhost:9200/_template/template_2 -d '{
    "template" : "te*",
    "order" : 1,
    "settings" : {
        "number_of_shards" : 1
    },
    "mappings" : {
        "type1" : {
            "_source" : { "enabled" : true }
        }
    }}'


© 著作权归作者所有

共有 人打赏支持
HarryWu
粉丝 5
博文 123
码字总数 48768
作品 0
马鞍山
Centos7.4部署配置Elasticsearch5.6集群

参考文档 https://www.elastic.co/guide/en/elasticsearch/reference/5.6/index.html https://www.elastic.co/guide/cn/elasticsearch/guide/current/important-configuration-changes.html ......

minminmsn
07/09
0
0
Graylog——日志聚合工具中的后起之秀

日志管理工具总览 先看看 推荐!国外程序员整理的系统管理员资源大全 中,国外程序员整理的日志聚合工具的列表: 日志管理工具:收集,解析,可视化 Elasticsearch - 一个基于Lucene的文档存...

超爱fitnesse
2015/06/08
0
1
Centos6搭建elk系统,监控IIS日志

**所需程序: 服务器端:java、elasticsearch、kikbana 客 户 端:IIS、logstash** 一、服务器端(192.168.10.46)操作: 先建立一个ELK专门的目录: [root@Cent65 ~]mkdir /elk/ 上传到elk...

D杀手D
04/24
0
0
Elastic stack--ES/kibana/filebeat/metricbeat

背景: 这篇文章主要是本人结合公司有关监控,详细介绍一下Elastic stack的几个组件:Elasticsearch/kibana/filebeat/metricbeat,通过安装配置部署,以及具体的case来介绍这四个组件,有关一...

Darren_Chen
06/05
0
0
Elasticsearch集群数据迁移

参考 https://www.elastic.co/guide/en/elasticsearch/reference/5.0/modules-snapshots.html https://www.elastic.co/guide/en/elasticsearch/guide/current/rollingrestarts.html https://......

minminmsn
07/09
0
0
Elasticsearch 的坑爹事——记录一次mapping field修改过程

Elasticsearch 的坑爹事 本文记录一次Elasticsearch mapping field修改过程 团队使用Elasticsearch做日志的分类检索分析服务,使用了类似如下的mapping ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

allantaylor81
2015/08/12
0
0
ELK日志服务器的快速搭建并收集nginx日志

今天给大家带来的是开源实时日志分析 ELK , ELK 由 ElasticSearch 、 Logstash 和 Kiabana 三个开源工具组成。官方网站:https://www.elastic.co 其中的3个软件是: Elasticsearch 是个开源分...

xitaotao
07/04
0
0
使用阿里云Elasticsearch搭建ELK日志系统

1. 搭建专用网络 1.1 登录专有网络管理控制台 阿里云Elasticsearch是搭建在专有网络上的,所以我们先开通阿里云专有网络, 点击开通 . 1.2 创建专有网络 点击创建专有网络 在专有网络名称和交...

pcdog
05/21
0
0
elasticsearch-head 安装介绍

elasticsearch-head 是用于监控 Elasticsearch 状态的客户端插件,包括数据可视化、执行增删改查操作等。elasticsearch-head 插件的安装在 Linux 和 Windows 没什么区别,安装之前确保当前系...

BeckJin
05/19
0
0
当ES赶超Redis,这份ES进修攻略不容错过!

从4月DB-Engines最新发布的全球数据库排名中,我们赫然发现ElasticSearch逆袭超越了Redis,从原先的第9名上升至第8名,而Redis则落后一名,排在了其后。 事实上,这场逆袭并不算太让人意外。...

DBAplus社群
04/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
33分钟前
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
昨天
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
昨天
1
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部