温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

EKL PHP如何调取_search接口查询、添加购物车统计

发布时间:2021-10-19 10:58:59 来源:亿速云 阅读:111 作者:小新 栏目:web开发

这篇文章将为大家详细讲解有关EKL PHP如何调取_search接口查询、添加购物车统计,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

<?php

error_reporting( E_ALL&~E_NOTICE );

define('ELK_QUERY_RR_QUERY', '{

  "query": {

    "filtered": {

      "query": {

        "query_string": {

          "analyze_wildcard": true,

          "query": "type:phptestkv AND report_type:\"cart.add\""

        }

      },

      "filter": {

        "bool": {

          "must": [

            {

              "range": {

                "@timestamp": {

                "gte": "now-15m"

                }

              }

            }

          ],

          "must_not": []

        }

      }

    }

  },

  "size": 0,

  "aggs": {

    "1": {

          "terms": {

            "field": "success",

            "size": 5,

            "order": {

              "_count": "desc"

            }

          }

        }

    }

  }

}');

define('ELK_QUERY_RR_URL', 'http://localhost:9200/logstash-phptest-*/_search?search_type=count&pretty');

     function curl_post($url, $content, $header=''){

        $curl = curl_init();

        curl_setopt($curl, CURLOPT_URL, $url);

        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);

        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);

        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

        curl_setopt($curl, CURLOPT_AUTOREFERER, 1);

        curl_setopt($curl, CURLOPT_POST, 1);

        curl_setopt($curl, CURLOPT_POSTFIELDS, $content);

        curl_setopt($curl, CURLOPT_TIMEOUT, 30);

        curl_setopt($curl, CURLOPT_HEADER, 0);

        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

        $tmpInfo = curl_exec($curl);

        if (curl_errno($curl))

        {

            print("[error] CURL ERROR: ".curl_error($curl)."\r\n");

        }

        curl_close($curl);

        return $tmpInfo;

    }

     function Query_Curl(){

        $request_params_rr_query = ELK_QUERY_RR_QUERY;

        $rr_target =curl_post(ELK_QUERY_RR_URL, $request_params_rr_query, 'Authorization:Basic bmVpZ291OjE5dkpDYzdCUUltbw==');

        return get_rr_value($rr_target);

    }

    function get_rr_value($results){

        $results_object = json_decode($results, true);

        return $results_object;

    }

     function query(){

         $result=Query_Curl();

         $doc_count=$result['aggregations']['1']['buckets'][0]['doc_count'];

         $total=$result['hits']['total'];

         $ratio=0;

         if($total>=5){

             if($doc_count && $total){

                 $ratio=round($doc_count/$total, 2);

             }

             if($result['aggregations']['1']['buckets'][0]['key']==1){

                 if($ratio){

                     $ratio=1-($ratio);

                 }

             }

         }

         return $ratio;

    }

$ratio=query();

echo $ratio;

?>

关于“EKL PHP如何调取_search接口查询、添加购物车统计”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI