1.如果想实现模糊查询,比如:查询hello,写成了hallo,可以用fuzzy
PUT lbb_index5/student/1
{
"content":"hello everyone "
}
GET /lbb_index5/student/_search
{
"query": {
"fuzzy": {
"content": "hallo"
}
}
}
2.可以像sql一样写聚合函数:必须以“aggs”为标记开始,用一个简单例子说明用法:
比如需求:统计一个公司中对java感兴趣的员工,并且按照年龄分组,按照绩效降序排列,同时算出绩效的平均值!
注意:
1)如果不提前设置属性类型的话,绩效默认是long,如果有88.8这样的浮点数,就会失败,建议,一开始就设置好类型;
2)age_group,和age_avg为任意起的名字
POST /lbb_index7/user/_bulk
{"index":{"_id":1}}
{"learn":"java","age":29,"jixiao":88}
{"index":{"_id":2}}
{"learn":"java","age":27,"jixiao":96}
{"index":{"_id":3}}
{"learn":"java","age":27,"jixiao":86}
{"index":{"_id":4}}
{"learn":"C#","age":32,"jixiao":85}
{"index":{"_id":5}}
{"learn":"C#","age":27,"jixiao":98}
GET /lbb_index7/user/_search
{
"query": {
"match": {
"learn": "java"
}
},
"aggs": {
"age_group": {
"terms": {
"field": "age",
"order": {
"jixiao_avg": "desc"
}
},
"aggs": {
"jixiao_avg": {
"avg": {
"field": "jixiao"
}
}
}
}
}
}