查询之QueryContext&FilterContext

bool查询

包含1个或多个查询子句组合,总共包含4个子句,其中2个影响算分QueryContext(must,should),2种不影响算分FilterConext(must_not,filter)。
bool查询中,如果没有must条件,should中必须至少满足一条查询;

bool 查询子查询出现顺序不影响,

数据准备

POST /products/_bulk
{
    "index": {
    "_id": 1 }}
{
    "price" : 10,"avaliable":true,"date":"2018-01-01", "productID" : "XHDK-A-1293-#fJ3" }
{
    "index": {
    "_id": 2 }}
{
    "price" : 20,"avaliable":true,"date":"2019-01-01", "productID" : "KDKE-B-9947-#kL5" }
{
    "index": {
    "_id": 3 }}
{
    "price" : 30,"avaliable":true, "productID" : "JODL-X-1937-#pV7" }
{
    "index": {
    "_id": 4 }}
{
    "price" : 30,"avaliable":false, "productID" : "QQPX-R-3956-#aD8" }

#基本语法
POST /products/_search
{
   
  "query": {
   
    "bool" : {
   
      "must" : {
   
        "term" : {
    "price" : "30" }
      },
      "filter": {
   
        "term" : {
    "avaliable" : "true" }
      },
      "must_not" : {
   
        "range" : {
   
          "price" : {
    "lte" : 10 }
        }
      },
      "should" : [
        {
    "term" : {
    "productID.keyword" : "JODL-X-1937-#pV7" } },
        {
    "term" : {
    "productID.keyword" : "XHDK-A-1293-#fJ3" } }
      ],
      "minimum_should_match" :1
    }
  }
}
#改变数据模型,增加字段。解决数组包含而不是精确匹配的问题
POST /newmovies/_bulk
{
    "index": {
    "_id": 1 }}
{
    "title" : "Father of the Bridge Part II","year":
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值