当前位置:Gxlcms > PHP教程 > es学习3DSL总结

es学习3DSL总结

时间:2021-07-01 10:21:17 帮助过:42人阅读

		// match   全文收索 role coding  结果是包括所有 role , coding
		// highlight 高亮显示 字段
		// aggs  all_interests  聚合查询
		// 
		// 集群健康   green yellow red GET /_cluster/health
		// 分片可以是主分片(primary shard)或者是复制分片(replica shard)。你索引中的每个文档属于一个单独的主分片,所以主分片的数量决定了索引最多能存储多少数据。
		// 理论上主分片能存储的数据大小是没有限制的,限制取决于你实际的使用情况。分片的最大容量完全取决于你的使用状况:硬件存储的大小、文档的大小和复杂度、如何索引和查询你的文档,以及你期望的响应时间。
		// 
		//复制分片只是主分片的一个副本,它可以防止硬件故障导致的数据丢失,同时可以提供读请求,比如搜索或者从别的shard取回文档。
	


		// 元数据
		//  _index 索引 类似 数据库
		// _type   文档   类型 表
		// _id     es 唯一标识 类型 编号
		// _source[查询 返回指定字段 字段之间使用,分割] 
		// http://localhost:9200/domain/domain_index/_search?_source=host,id
		// GET /website/blog/123?_source=title,text
		// 
		// 检查文档是否存在 
		// curl -i -XHEAD http://localhost:9200/website/blog/123
		// 
		// 新增
		// _create
		// PUT /website/blog/123?op_type=create  
		// PUT /website/blog/123/_create
		// 
		// 删除
		// DELETE /website/blog/123
		// 
		// 
		// 更新 
		// 
		// POST /website/blog/1/_update
		// {
		//    "doc" : {
		//       "tags" : [ "testing" ],
		//       "views": 0
		//    }
		// }
// 查询  按照 id desc  
// size 每页显示 数目 
 $curl_param = [
        'sort'=>[
                'id'=>[
                    'order'=>$sort
                ]
        ],
       'size'=>$size
];




	// 等价于 count()
		
		方式一
		{
		    "aggs" : {
		        "genres" : {
		            "terms" : { "field" : "advertiser" }
		        }
		    }
		}
		方式二
				{
		    "aggs" : {
		        "genres" : {
		            "terms" : {
			             "field" : "advertiser",
			             "order" : { "_count" : "desc" }
		            },
		            "aggs" : {
				        "status" : {
				            "terms" : {
				             "field" : "status",
				             "order" : { "_count" : "desc" }
				            }
				            
				        }
				    }
		            
		        }
		    }
		}


		方式三
				{
			"query":{
				"bool":{
					"must":{
						"match":{
							"title":"c"
						}
					}
				}
			},
		    "aggs" : {
		        "genres" : {
		            "terms" : { "field" : "advertiser" }
		        }
		    }
		}
		


//  range  范围查询
$curl_param = [
            'sort'=>[
                'id'=>[
                    'order'=>$sort
                ]
            ],
            'size'=>$size,
            'query'=>[
                'bool'=>[
                    'must'=>[
                        'range'=>[
                            'id'=>[
                                'gt'=>$rand_id
                            ]
                        ]
                    ]
                ]
            ]
        ];

// term  使用 等价于  sql  where id=3 的形式

        $curl_param = [
            'sort'=>[
                'id'=>[
                    'order'=>'desc'
                ]
            ],
            'size'=>$size,
            'query'=>[
                'term'=>[
                    'platform'=>$platform
                ]
            ]
        ];



// bool 集合查询 
// fuzzy  模糊查询 等价于 %%
$curl_param = [
            'sort'=>[
                'id'=>[
                    'order'=>'desc'
                ]
            ],
            'size'=>$size,
            'query'=>[
                'bool'=>[
                    'must'=>[
                        [
                            'term'=>[
                                'type'=>$type
                            ]
                        ],
                        [
                            'term'=>[
                                'platform'=>$platform
                            ]
                        ]
                    ],
                    'should'=>[
                        [
                            'fuzzy'=>[
                                'title'=>[
                                    'value'=>$param
                                ]
                            ]
                        ],
                        [
                            'fuzzy'=>[
                                'domain'=>[
                                    'value'=>$param
                                ]
                            ]
                        ]
                    ]
                    
                ]
            ]
        ];



  // max  min 查询
  $curl_param = [
            'query'=>[
                'bool'=>[
                    'must'=>[
                        'term'=>[
                            'id'=>$id
                        ]
                    ]
                ]
            ],
            'aggs'=>[
                'first_detected'=>[
                    'min'=>[
                        'field'=>'created_date'
                    ]
                ],
                'last_detected'=>[
                    'max'=>[
                        'field'=>'created_date'
                    ]
                ]
            ]
        ];

// groub By 查询
//  group_by_state
  $curl_param = [
            'query'=>[
               'bool'=>[
                    'must'=>[
                        [
                            'term'=>[
                                $isfield=>1
                            ]
                        ],
                        [
                            'term'=>[
                                'host'=>$host
                            ]
                        ]
                    ]
               ]
            ],
            'aggs'=>[
                'group_by_state'=>[
                    'terms'=>[
                        'field'=>$field
                    ]
                ]
            ]
        ];

//多字段查询
        $curl_param = [
            'sort'=>[
                'id'=>[
                    'order'=>'desc'
                ]
            ],
            'query'=>[
                'multi_match'=>[
                    'query'=>$title,
                    'type'=>'best_fields',
                    'fields'=>[
                        'title','domain','keywords'
                    ],
                    'tie_breaker'=>0.3,
                    'minimum_should_match'=>'30%'
                ]
                
            ]
        ];


// filter 过滤 使用
$curl_param = [
            'sort'=>[
                    'id'=>'desc'
            ],
            'query'=>[
                'filtered'=>[
                    'filter'=>[
                        'range'=>[
                            'id'=>[
                                'gte'=>$min_id,
                                'lte'=>$max_id
                            ]
                        ]
                    ]
                ]
            ]
        ];



  $curl_param = [
            'sort'=>[
                'id'=>[
                    'order'=>'desc'
                ]
            ],
            'size'=>$size,
            'query'=>[
                'bool'=>[
                    'must'=>[
                        [
                            'fuzzy'=>[
                                'title'=>$param
                            ]
                        ],
                        [
                            'term'=>[
                                'type'=>$type
                            ]
                        ],
                        [
                            'term'=>[
                                'platform'=>$platform
                            ]
                        ],
                        [
                            'term'=>[
                                'shape'=>$shape
                            ]
                        ],
                        [
                            'range'=>[
                                'created_date'=>[
                                    'gte'=>$startTime,
                                    'lt'=>$endTime
                                ]
                            ]
                        ],
                         [
                            'range'=>[
                                'id'=>[
                                    'gte'=>$last_id
                                ]
                            ]
                        ]
                        
                    ]
                    
                ]
            ]
        ];


   // should 使用 
   // 
foreach ($param as $key => $value) {

            if($value)
            {
                $should_arr[] = [
                    'term'=>[
                        'id'=>$value
                    ]
                ];
            }
            
        }

        $curl_param = [
            'query'=>[
                'bool'=>[
                    'should'=>$should_arr
                ]
            ]
        ];

以上就介绍了 es 学习 3 DSL 总结,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行