首页 > 编程语言 >php: 操作elasticsearch的别名

php: 操作elasticsearch的别名

时间:2024-08-08 15:06:28浏览次数:12  
标签:index gs 别名 second client elasticsearch result php

一,添加别名

1,代码:

        //初始化es的client
        $client = $this->_init_es();

        // 确定参数
        $params = [
            'index' => 'gs_second',      //索引名字
            'name' => 'gs_second_idx',   //索引的别名
        ];

        // 执行
        //$client = EsHelper::getEsClient();
        try {
            $response = $client->indices()->putAlias($params);
            $result = $response->asArray();
            echo "响应:<br/>";
            if ($result['acknowledged'] == true) {
                echo "别名创建成功";
            } else {
                echo "别名创建失败";
            }
            var_dump($result);
        }catch (\Exception $e){
            $result = $e->getMessage();
            echo "异常:<br/>";
            var_dump($result);
        }

2,测试效果:

添加前:

liuhongdi@lhdpc:~$ curl  -sXGET localhost:9200/_cat/aliases?v
alias         index     filter routing.index routing.search is_write_index
gs_second_idx gs_second -      -             -              -

添加后:

liuhongdi@lhdpc:~$ curl  -sXGET localhost:9200/_cat/aliases?v
alias         index     filter routing.index routing.search is_write_index
gs_second_idx gs_second -      -             -              -

二,删除别名

1,代码:

        //初始化es的client
        $client = $this->_init_es();


        // 确定参数
        $params = [
            'index' => 'gs_second',      //索引名字
            'name' => 'gs_second_idx',   //索引的别名
        ];

        // 执行
        //$client = EsHelper::getEsClient();
        try {
            $response = $client->indices()->deleteAlias($params);
            $result = $response->asArray();
            echo "响应:<br/>";
            if ($result['acknowledged'] == true) {
                echo "别名删除成功";
            } else {
                echo "别名删除失败";
            }
            var_dump($result);
        }catch (\Exception $e){
            $result = $e->getMessage();
            echo "异常:<br/>";
            var_dump($result);
        }

2,测试效果:

删除前:

liuhongdi@lhdpc:~$ curl  -sXGET localhost:9200/_cat/aliases?v
alias         index     filter routing.index routing.search is_write_index
gs_second_idx gs_second -      -             -              -

删除后:

liuhongdi@lhdpc:~$ curl  -sXGET localhost:9200/_cat/aliases?v
alias index filter routing.index routing.search is_write_index

三,根据别名得到索引名

1,代码:

$params = [
            'name'=>'gs_second_idx',   //要查询的别名 
        ];
        try {
            $response = $client->indices()->getAlias($params);
            $result = $response->asArray();
            var_dump($result);
        }catch (\Exception $e){
            $result = $e->getMessage();
        }

2,测试效果:

array(1) { ["gs_second"]=> array(1) { ["aliases"]=> array(1) { ["gs_second_idx"]=> array(0) { } } } }

四,根据索引名得到别名

1,代码:

        $params = [
            'index'=>'gs_second',
        ];
        try {
            $response = $client->indices()->getAlias($params);
            $result = $response->asArray();
            var_dump($result);
        }catch (\Exception $e){
            $result = $e->getMessage();
        }

2,测试效果:

array(1) { ["gs_second"]=> array(1) { ["aliases"]=> array(1) { ["gs_second_idx"]=> array(0) { } } } }

说明:getAlias()方法不加参数则得到列出所有索引的别名

 

标签:index,gs,别名,second,client,elasticsearch,result,php
From: https://www.cnblogs.com/architectforest/p/18348895

相关文章

  • elasticsearch: 指定索引数据的保存目录
    一,查看节点的fs得到索引数据的保存目录说明:修改索引数据的保存目录,通常是因为要把数据单独保存到服务器专用的数据盘,方便扩展\管理\备份等访问:http://localhost:9200/_nodes/stats/fs 也可以从命令行访问:[root@lhdpcelasticsearch]#curl-XGET"localhost:9200/_no......
  • php常用函数
    /***格式化金额*/functionformat_amount($float){if($float==intval($float)){returnintval($float);}elseif($float==sprintf('%.1f',$float)){returnsprintf('%.1f',$float);}return$float;}......
  • Laravel --最优雅的 PHP 框架
    在PHP生态系统中,有许多框架可供开发者选择。在众多选择中,Laravel突出其优雅的设计、简洁的语法和强大的功能,迅速成为最受欢迎的PHP框架之一。本文将探讨Laravel的一些关键特性,通过数据支持、实际操作案例和代码示例来展示其优雅性和实用性。1.Laravel的优雅设计1.1......
  • 计算机毕业设计项目推荐,院系资料分类管理平台 84184(开题答辩+程序定制+全套文案 )上万
    目 录摘要1绪论1.1研究背景1.2研究意义1.3论文结构与章节安排2 院系资料分类管理平台系统分析2.1可行性分析2.2系统流程分析2.2.1数据增加流程2.2.2数据修改流程2.2.3数据删除流程2.3系统功能分析2.3.1功能性分析2.3.2非功能性分析......
  • 计算机毕业设计项目推荐,红色旅游网站设计与开发 99214(开题答辩+程序定制+全套文案 )上
    摘 要21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于旅游服务管理也是十分常见的。过去使用手工的管理方式对旅游服务进行管理,造成了管理繁琐、难以维护等问题,如今使用计算机对旅游服务的各项基本信息进行管理,比起手工管理来说既方便又简单,而且具有易......
  • PHP Laravel 5.2 HTTP控制器Controller介绍及示例
    在Laravel5.2中,HTTP控制器是用于处理HTTP请求的主要组件。控制器可以封装业务逻辑,并且可以使你的应用程序更加模块化和易于维护。下面我将详细介绍Laravel5.2中HTTP控制器的基本概念,并提供一些示例。创建控制器在Laravel5.2中,你可以使用Artisan命令来生成......
  • ELK Elasticsearch 集群部署
    ELKElasticsearch集群部署数据流向:1、后台服务器产生的日志由filebeat收集通过logstasg进行标准化处理,传输给es1、es2(两个是一个主备的关系,数据都是一致的),然后传输给可视化设备。有了flebeat可以节省资源,可以通过filebeat和logstash实现远程数据收集。filereat不能......
  • Elasticsearch:用例、架构和 6 个最佳实践
    1.什么是Elasticsearch?Elasticsearch是一个开源分布式搜索和分析引擎,专为处理大量数据而设计。它建立在ApacheLucene之上,并由Elastic支持。Elasticsearch用于近乎实时地存储、搜索和分析结构化和非结构化数据。Elasticsearch的一个主要特性是其可扩展性,这使得......
  • 关于php绕过
    ......
  • [MRCTF2020]套娃 php字符串解析绕过,jsfuck编码
    进来看到代码<!--//1st$query=$_SERVER['QUERY_STRING'];if(substr_count($query,'_')!==0||substr_count($query,'%5f')!=0){die('Y0uareSocutE!');}if($_GET['b_u_p_t']!=='23333'......