es-聚合,dsl,script

聚合四大类:Bucketing(分桶),metric(给出document集合的某指标),matrix,pipeline
聚合是在query(无query,则为match-all)的全部结果下进行的,与from,size无关

{
    "size": "0",
    "aggs": {
        "buck1": {
            "terms": {
                "field": "name"
            },
            "aggs": {
                "buck3": {
                    "stats": {
                        "field": "age"
                    }
                }
            }
        },
        "buck2": {
            "matrix_stats": {
                "fields": ["age"]
            }
        }
    }
}

match-all,match_none,match(and或or,给出的文本经过analyzer),match_phrase,
match_phrase_prefix(最后那个term允许前缀匹配,如quick brown f)
multi_match:允许多个field进行match query
common:类似match,但可通过cutoff_frequency区分高频term和低频term,可设置low_freq_operator,high_freq_operator
query_string:可支持default_field或fields(多个field),查询字符串可支持AND,OR,+,-等符号
simple_query_string:
term,terms,terms_set:类似terms,但minimum_should_match_field或minimum_should_match_script能指定最少匹配的term数量
range:如对某个field进行gte,lte等
exists:存在某个field的document,空字符串算存在的
prefix: 给的是term的前缀,term query给的是整个term
wildcard:给的是term的通配符形式
regexp,fuzzy(模糊匹配,可能错一两个字母),ids
constant_score:内含filter,可含boost
bool:must,should,must_not, filter(filter内也可以使用script)
dis_max:给出多个query,若document匹配多个query,取最高的那个score返回,tie_breaker:考虑非最高的score,0-1之间,加上非最高的score乘以tie_breaker
function_score:内含query,可含boost,修改原始score
script_score:内含query和script
boosting:含positive和negative两个query,negative query的score要乘以negative_boost

script:lang(默认painless),source或id,params

_field_names:含本document有值的field的名字,用于exists query
mappings内properties是普通域的定义,和properties平级的是元数据域,如_field_names

你可能感兴趣的:(elasticSearch)