Heim > Backend-Entwicklung > PHP-Tutorial > es 学习 3 DSL 总结

es 学习 3 DSL 总结

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-07-28 08:26:24
Original
1535 Leute haben es durchsucht
<?php // match_phrase &#160;比配 &#160;短语 &#160;: role coding &#160;结果 是 role coding
<span style="white-space:pre">		// match   全文收索 role coding  结果是包括所有 role , coding
<span style="white-space:pre">		</span>// highlight 高亮显示 字段
<span style="white-space:pre">		</span>// aggs  all_interests  聚合查询
<span style="white-space:pre">		</span>// 
<span style="white-space:pre">		</span>// 集群健康   green yellow red GET /_cluster/health
<span style="white-space:pre">		</span>// 分片可以是主分片(primary shard)或者是复制分片(replica shard)。你索引中的每个文档属于一个单独的主分片,所以主分片的数量决定了索引最多能存储多少数据。
<span style="white-space:pre">		</span>// 理论上主分片能存储的数据大小是没有限制的,限制取决于你实际的使用情况。分片的最大容量完全取决于你的使用状况:硬件存储的大小、文档的大小和复杂度、如何索引和查询你的文档,以及你期望的响应时间。
<span style="white-space:pre">		</span>// 
<span style="white-space:pre">		</span>//复制分片只是主分片的一个副本,它可以防止硬件故障导致的数据丢失,同时可以提供读请求,比如搜索或者从别的shard取回文档。
<span style="white-space:pre">	</span>


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




<span style="white-space:pre">	</span>// 等价于 count()
<span style="white-space:pre">		</span>
<span style="white-space:pre">		</span>方式一
<span style="white-space:pre">		</span>{
<span style="white-space:pre">		</span>    "aggs" : {
<span style="white-space:pre">		</span>        "genres" : {
<span style="white-space:pre">		</span>            "terms" : { "field" : "advertiser" }
<span style="white-space:pre">		</span>        }
<span style="white-space:pre">		</span>    }
<span style="white-space:pre">		</span>}
<span style="white-space:pre">		</span>方式二
<span style="white-space:pre">				</span>{
<span style="white-space:pre">		</span>    "aggs" : {
<span style="white-space:pre">		</span>        "genres" : {
<span style="white-space:pre">		</span>            "terms" : {
<span style="white-space:pre">			</span>             "field" : "advertiser",
<span style="white-space:pre">			</span>             "order" : { "_count" : "desc" }
<span style="white-space:pre">		</span>            },
<span style="white-space:pre">		</span>            "aggs" : {
<span style="white-space:pre">				</span>        "status" : {
<span style="white-space:pre">				</span>            "terms" : {
<span style="white-space:pre">				</span>             "field" : "status",
<span style="white-space:pre">				</span>             "order" : { "_count" : "desc" }
<span style="white-space:pre">				</span>            }
<span style="white-space:pre">				</span>            
<span style="white-space:pre">				</span>        }
<span style="white-space:pre">				</span>    }
<span style="white-space:pre">		</span>            
<span style="white-space:pre">		</span>        }
<span style="white-space:pre">		</span>    }
<span style="white-space:pre">		</span>}


<span style="white-space:pre">		</span>方式三
<span style="white-space:pre">				</span>{
<span style="white-space:pre">			</span>"query":{
<span style="white-space:pre">				</span>"bool":{
<span style="white-space:pre">					</span>"must":{
<span style="white-space:pre">						</span>"match":{
<span style="white-space:pre">							</span>"title":"c"
<span style="white-space:pre">						</span>}
<span style="white-space:pre">					</span>}
<span style="white-space:pre">				</span>}
<span style="white-space:pre">			</span>},
<span style="white-space:pre">		</span>    "aggs" : {
<span style="white-space:pre">		</span>        "genres" : {
<span style="white-space:pre">		</span>            "terms" : { "field" : "advertiser" }
<span style="white-space:pre">		</span>        }
<span style="white-space:pre">		</span>    }
<span style="white-space:pre">		</span>}
<span style="white-space:pre">		</span>


//  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
                ]
            ]
        ];
Nach dem Login kopieren

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

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage