成都网站建设设计

将想法与焦点和您一起共享

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

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

创新互联建站是网站建设技术企业,为成都企业提供专业的成都网站建设、做网站,网站设计,网站制作,网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制适合企业的网站。十年品质,值得信赖!

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接口查询、添加购物车统计”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


本文标题:EKLPHP如何调取_search接口查询、添加购物车统计
转载来源:http://chengdu.cdxwcx.cn/article/joesdj.html