zoukankan      html  css  js  c++  java
  • 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'

  • 相关阅读:
    ASP.NET WebApi项目框架搭建(六):数据库ORM之Sqlsugar
    sqlsugar与数据库之间的相互操作
    C# SqlSugar框架的学习使用(一)SqlSugar简介及创建
    SqlSugar直接执行Sql
    在项目中迁移MS SQLServer到Mysql数据库,实现MySQL数据库的快速整合
    SqlSugar 简易操作数据库
    C# SqlSugar框架的学习使用(二) 类的生成及增删改查的应用
    使用开源框架Sqlsugar结合mysql开发一个小demo
    devops起源的各种ops概念
    STC8H开发(四): FwLib_STC8 封装库的介绍和注意事项
  • 原文地址:https://www.cnblogs.com/51zone/p/9874161.html
Copyright © 2011-2022 走看看