Elasticsearch--集群管理_别名&插件&更新API

使用索引别名

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

别名

它是一个或多个索引的一个附加名称,允许使用这个名称来查询索引。一个别名可以对应多个索引,反之,一个索引可以是多个别名的一部分。但是,不能使用对应多个索引的别名来进行索引或实时的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'

原文地址:https://www.cnblogs.com/51zone/p/9874161.html