使用索引别名

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

别名

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

最新文章

  1. NYOJ 954
  2. [tableView reloadData] 和 runloop
  3. 20145210 20145226 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验
  4. windows 10磁盘占用100%解决方案
  5. ajax技术应用(转)
  6. AC自动机---病毒侵袭
  7. VISUAL STUDIO 2008 WINDOWS FORM项目发布生成安装包详解(转)
  8. 永久改动redhat的default route
  9. 删除mssqlserver表数据,使id从0开始
  10. nsis 固定到任务栏
  11. mono for android 学习记录
  12. gulp使用流程
  13. Opencv探索之路(二十):制作一个简易手动图像配准工具
  14. input 密码框调出手机的数字键盘
  15. vs2015添加T4模版
  16. 2015年第六届蓝桥杯javaB组 试题 答案 解析
  17. nodejs的jekins部署
  18. 学习笔记70—Photoshop画齿轮
  19. HTML5 History API & URL 重定向
  20. [日常] C语言中指针变量

热门文章

  1. hdu1576 mod 运算的逆元
  2. js 变量、函数提升
  3. android WIFI信息获取
  4. lmhostid获取hostid为空问题
  5. windows内存管理的机制以及优缺点
  6. (1)iOS9完美越狱
  7. UITableview控件简单介绍
  8. OpenMediaVault 搭建git,ssh无法连接问题
  9. hdu 5023(线段树区间染色,统计区间内颜色个数)
  10. 小程序-demo:小程序示例