时间: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教程有兴趣的朋友有所帮助。