ES使用案例

文章讲述了如何从1100表中通过复杂条件查询数据,包括userType、level、模糊搜索(使用wildcard和should)、以及特定类型的过滤(如typeName为成品或原材料)。
摘要由CSDN通过智能技术生成

 1.查询1100表中,userType满足1或2或3,level满足1,2的数据

{
  "query": {
    "bool": {
    	"must": [
    		{
    			"term": {"dataType":1100}	
    		},
    		{
    			"terms": {"dataBody.useType":[1,2,3]}
    		},
    		{
    			"terms": {"dataBody.level":[1,2]}
    		}
    	]
    }
  },
  "size": 10,
  "from": 0,
  "sort": []
}

2.先模糊搜索,然后对搜索出来的数据进行过滤,满足typeName是成品或原材料,等等(写在filter里面也可以实现,效果好像没有区别,filter可能会快点)


{
  "query": {
    "bool": {
      "must": [
        {
          "match": {"dataType": 1100}
        },
        {
          "bool": {
            "should": [
              {
                "wildcard": {"dataBody.codeWildcard": {"value": "*test*"}}
              },
              {
                "wildcard": {"dataBody.nameWildcard": {"value": "*test*"}}
              }
            ]
          }
        },
        {
          "terms": {"dataBody.typeName": ["成品","原材料"]}
        },
        {
          "terms": {"dataBody.rohs": [0,2,3]}
        },
        {
          "range": {"dataBody.creationTime": {"gte": "2023-09-21T16:00:00","lte": "2023-09-28T15:59:59"}}
        }
      //],
      //"filter": [
      //  {
      //    "terms": {"dataBody.rohs": [0,2,3]}
      //  },
      //  {
      //    "terms": {"dataBody.typeName": ["原材料","成品"]}
      //  },
      //  {
      //    "range": {"dataBody.creationTime": {"gte": "2023-09-21T16:00:00","lte": "2023-09-28T15:59:59"}}
      //  }
      ]
    }
  },
  "sort": [
    {
      "dataBody.code.keyword": {
        "order": "asc"
      }
    }
  ]
}

3. should

should里面每一个匹配条件都互不相干,每个匹配条件相对于一个快速筛选。

例如:条件1是用户类型是1、2的。条件2客户收入是1,2的。

 {
   "query": {
     "bool": {
       "should": [
          {匹配条件1},
          {匹配条件2},
          …可以有N个匹配条件…
         ]
     }
   }
 }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值