// match 全文收索role coding 結果是包含所有role , coding
// match 全文收索role coding 結果是包含所有role , coding
以上就介紹了 es 學習 3 DSL 總結,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。
es 學習 3 DSL 總結
<?php
// match_phrase  比配  短语  : role coding  结果 是 role coding
<span style="white-space:pre"> </span>// 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
]
]
];