使用索引别名

通过使用别名,可以使用一个名字来跟多个索引打交道,就像使用一个索引一样。

别名

它是一个或多个索引的一个附加名称,允许使用这个名称来查询索引。一个别名可以对应多个索引,反之,一个索引可以是多个别名的一部分。但是,不能使用对应多个索引的别名来进行索引或实时的GET操作。

创建别名

创建一个索引别名,需要在_aliases REST端点上执行一个HTTP POST方法。下面创建一个名为week12的别名,它包含day10,day11和day12这些索引。

curl -XPOST 'localhost:9200/_aliases' -d '{
"action":[
{"add":{"index":"day10", "alias":"week12"}},
{"add":{"index":"day11", "alias":"week12"}},
{"add":{"index":"day12", "alias":"week12"}}
]
}'

如果Elasticsearch集群中不存在week12别名,上述命令将创建它,如果存在,命令将只是把指定的索引添加进去。

修改别名

使用remove命令从别名中移除索引。下面从week12中移除day9索引:

curl -XPOST 'localhost:9200/_aliases' -d'{
"action":[
{"remove":{"index":"day3", "alias":"week12"}}
]
}'

合并命令

add和remove命令可以在一个请求中发送:

获取所有别名

应用程序的需求大概是:获取集群中的所有别名,跟一个索引连接的所有别名。下面,第一个命令获取day10索引的所有别名,第二个命令获取所有可能的别名:

curl -XGET 'localhost:9200/day10/_aliases'
curl -XGET 'localhost:9200/_aliases'

移除别名

下面从data索引移除client别名

curl -XDELETE 'localhost:9200/data/_aliases/client'

别名中过滤

可以像在SQL数据库中使用视图一样使用别名。

别名和路由

跟在别名中使用过滤器类似,可以在别名中添加路由值。假设在使用基于用户标识符的路由,且想在别名中使用相同的路由值,则在名为client的别名中,我们将在查询中使用路由值12345、12346、12347,而在索引建立中只是用12345:

curl -XPOST 'localhost:9200/_aliases' -d '{
"action":[
{
"add":{
"index":"data",
"alias":"client",
"search_routing":"12345,12346,12347",
"index_routing":"12345"
}
}]
}'

这样,使用client别名索引数据时,将使用index_routing属性的值。在查询时,将使用search_routing属性值。

Elasticsearch插件

基础知识

Elasticsearch插件位于plugins目录的各个子目录中。如果从网站下载一个新的插件,你可以用该插件名创建一个新目录,并把插件存档解压到这个目录中。还有个更好的安装方法:使用插件脚本。

Elasticsearch有两种主要类型的插件。基于内容来分类:Java插件和站点插件(site plugins)。Elasticsearch把站点插件当成被内置的HTTP服务器处理的文件集,处于**/_plugin/pligin_name/URL**(如/_plugin/bigdesk)下面。此外,任何一个没有java内容的插件将被自动视为站点插件。在Elasticsearch看来,站点插件不会改变Elasticsearch的行为。Java插件通常包含.jar文件,被es-plugin.properties文件扫描。该文件包含主要类的信息,Elasticsearch使用该类作为入口来配置插件并扩展Elasticsearch的功能。Java插件可以包含站点部分,被内置的HTTP服务器使用(跟站点插件一样),这部分需要放置在**_site**目录中。

安装插件



如果自己编写的插件,没有访问上述网站的权限,插件工具提供了-url选项,允许为插件设置包括本地文件系统(使用file://前缀)在内的任何地址。如下面的命令将安装存档在本地文件系统的/tmp/elasticsearch-lang-javascript-2.0.0.RC1.zip里的插件:

bin/plugin -install lang-javascript -url file:///tmp/elasticsearch-lang-javascript-2.0.0.RC1.zip

移除插件

移除river-mongodb插件

bin/plugin -remove river-mongodb

需要重启Elasticsearch节点,让插件的安装或移除生效。

更新设置API

Elasticsearch允许在elasticsearch.yml文件中指定各种参数来调优。但是你应该把这个文件当做默认设置,可以在运行时通过Elasticsearch REST API修改。

为了设置其中一个属性,需要使用HTTP PUT方法,发送一个合适的请求到_cluster/setting URL.有两个选择:瞬时和永久的属性设置。

第一个,瞬时,将只设置属性直到第一次重启。

curl -XPUT 'localhost:9200/_cluster/settings' -d '{
"transient":{
"PROPERTY_NAME":"PROPERTY_VALUE"
}
}'

在上面的命令中,我们使用了transient对象,这意味设置的属性将生效,直到重新启动。如果希望属性设置重启后永久生效,使用persistent。

任何时候,都可以用下面命令获取所有配置:

curl -XGET 'localhost:9200/_cluster/settings'

Elasticsearch--集群管理_别名&插件&更新API的更多相关文章

  1. elasticsearch集群管理工具head插件(转)

    elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es 插件安装方法1: 1.elasticsearc ...

  2. Elasticsearch集群管理工具head插件安装

    Elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es.或直接下载源码,在本地打开index.html ...

  3. Elasticsearch集群 管理

    第7章 深入Elasticsearch集群 启动一个Elasticsearch节点时,该节点会开始寻找具有相同集群名字并且可见的主节点.如 果找到主节点,该节点加入一个已经组成了的集群:如果没有找到, ...

  4. 批量搞机(二):分布式ELK平台、Elasticsearch介绍、Elasticsearch集群安装、ES 插件的安装与使用

    一.分布式ELK平台 ELK的介绍: ELK 是什么? Sina.饿了么.携程.华为.美团.freewheel.畅捷通 .新浪微博.大讲台.魅族.IBM...... 这些公司都在使用 ELK!ELK! ...

  5. elasticsearch 集群管理(集群规划、集群搭建、集群管理)

    一.集群规划 搭建一个集群我们需要考虑如下几个问题: 1. 我们需要多大规模的集群? 2. 集群中的节点角色如何分配? 3. 如何避免脑裂问题? 4. 索引应该设置多少个分片? 5. 分片应该设置几个 ...

  6. 大规模Elasticsearch集群管理心得

    转载:http://elasticsearch.cn/article/110 ElasticSearch目前在互联网公司主要用于两种应用场景,其一是用于构建业务的搜索功能模块且多是垂直领域的搜索,数据 ...

  7. Elasticsearch集群管理

    ES通过设置[节点的名字]和[集群的名字],就能自动的组织相同集群名字的节点加入到集群中,并使很多的技术对用户透明化. 如果用户想要管理查看集群的状态,可以通过一些REST API来实现. 其他的ES ...

  8. elasticsearch集群部署以及head插件安装

    环境准备 elasticsearch是Java程序写的因此必须装jdk,否则使用不了. [root@openstack ~]# java -versionopenjdk version "1 ...

  9. Elasticsearch集群管理之添加、删除节点

    1.问题抛出 1.1 新增节点问题 我的群集具有黄色运行状况,因为它只有一个节点,因此副本保持未分配状态,我想要添加一个节点,该怎么弄? 1.2 删除节点问题 假设集群中有5个节点,我必须在运行时删除 ...

随机推荐

  1. Android Service 不被杀死并提高优先级

    Android Service 不被杀死有两种思路,一种是将APP设置为系统应用.还有一种是增强service的生命力.即使屏幕背光关闭时也能执行. 因为设置为系统应用须要root.所以一般使用后一种 ...

  2. 区块链共识算法 PBFT(拜占庭容错)、PAXOS、RAFT简述

    共识算法 区块链中最重要的便是共识算法,比特币使用的是POS(Proof of Work,工作量证明),以太币使用的是POS(Proof of Stake,股权证明)使得算理便的不怎么重要了,而今PO ...

  3. 同步 Github fork 分支

    /**************************************************************************** * 同步 Github fork 分支 * ...

  4. Ubuntu下搭建基于apache2的gerrit+gitweb服务器

    说明:Ubuntu版本12.04 1. 配置gerrit管理帐号 1 sudo adduser gerrit 增加sudo权限: 1 sudo usermod -a -G sudo gerrit 切换 ...

  5. yield示例分析

    yield示例分析 public class TestYield { private static final Object lock = new Object(); public static vo ...

  6. HDU1180:诡异的楼梯

    传送门 题意 迷宫搜索 分析 这题写起来挺简单的,锻炼搜索基本功,一开始用记忆化搜索TLE了,改用访问标记,0ms过了,用优先队列保证终点最快达到,我会在代码中提供一些强力数据 trick 1.遇到梯 ...

  7. HDU1244:Max Sum Plus Plus Plus

    题目链接:Max Sum Plus Plus Plus 题意:在n个数中取m段数使得这m段数之和最大,段与段之间不能重叠 分析:见代码 //dp[i][j]表示前i个数取了j段的最大值 //状态转移: ...

  8. YCOJ中国邮递员问题

    题目: Description 一个邮递员从邮局出发,需要去 n - 2个城市送信,送完信件以后回家. 邮局在城市 1,家在城市 n,任意两个城市之间都有道路,但是这些道路是单向,也就是说 a 到 b ...

  9. 5位ID生成方案

    最近在某微信技术群,有人问到如何生成5位唯一数字+字母字符串的算法,要保证生成的字符串唯一,且字符串内部也要唯一. 怎么样,这个需求是不是很简单,也有点特殊呢?简单是指需求简单,特殊是指,字符串长度要 ...

  10. Luogu P2858 [USACO06FEB]奶牛零食Treats for the Cows 【区间dp】By cellur925

    题目传送门 做完A Game以后找道区间dp练练手...结果这题没写出来(哭). 和A Game一样的性质,从两边取,但是竟然还有天数,鉴于之前做dp经常在状态中少保存一些东西,所以这次精心设计了状态 ...