elasticSearch 基础操作

      最近项目有使用elasticSearch ,对于新知识为防止遗忘,也供新入手的朋友一个记录。特此将es 基本知识记录如下。

 es 基本概念:索引(database),类型(table),文档(一行记录)。分片,备份。

es 基本查询(使用postman 操作)请求方式  post   加 localhost:9200/索引名/house/_search

//查询所有
{
    "query":{
        "match_all":{}
    },
    "from":1,   // 从那条开始类似 sql start
    "size":1    // 偏移量 类似sql limit
}

    

//查询关键词查询
{
    "query":{
        "match":{
            "字段名称":"对应的value"
        }  
    },
    "sort":[
        "需要排序的字段":{"order":"desc"}
    ]
}
//聚合查询(多个则为多字段聚合)
{
    "aggs":{
        "自定义聚合名称":{
            "terms":{
                "field":"聚合的字段"
            }
        },
        "自定义聚合名称":{
            "terms":{
                "field":"聚合的字段"
            }
        }
    }
}

复合查询:查询 post 方法

//换成习语匹配则将match改为match_pharse(则只会查包含 elasticSearch入门 的数据)
{
    "query":{
        "match":{
            "需要查询的字段":"elasticSearch入门"  //此处为模糊匹配 该字段有elasticSearch/入门 的都会查出来
        }
    }
}
//文本查询
{
    "query":{
        "query_String":{
            "query":"关键词 and  关键词", //可以使用 or  and 等不同的词
            "fields":["字段一","字段二"] //查询字段中含有关键词的数据
        }
    }
}

// 结构化数据的查询
{
    "query":{
        "term":{
            "字段名":"值"
        }
    }
}

//范围查询
{
    "query":{
        "range":{
            "字段名称":{
                "gte": 1000, //>=  去掉e 则为>
                "lte":2000   // <=
            }
        }
    }
}


//filter 查询 和query 的区别 filter 不会没有结果匹配度的字段,类似于sql 的 =  
{
    "query":{
        "bool":{
            "filter":{  // filter 需要和 bool 查询结合起来 filter 数据es 会给他做缓存
                "term":{
                    "字段":"值"
                }
            }
        }
    }
}

//es 复合查询 should 为 或的关系
{
    "query":{
        "bool":{
            "should":[ //将should 改为must 则为与的关系
                {
                    "match":{
                        "字段名称":"值"
                    }
                },
                {
                    "match":{
                        "字段名称":"值"
                    }
                }
            ],
            "filter":[
                {
                    "term":{
                        "字段":"值"
                    }
                }
            ]
        }
    }
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值