商城检索 DSL

news2024/11/27 5:37:31

在这里插入图片描述

  • 模糊匹配
  • 过滤(按照属性、分类、品牌、价格区间、库存)
  • 排序
  • 分页
  • 高亮
  • 聚合分析

一. 搜索关键字在这里插入图片描述

检索字段:商品sku标题

“skuTitle” : “华为 HUAWEI Mate 30 Pro 亮黑色 8GB+256GB麒麟990旗舰芯片OLED环幕屏双4000万徕卡电影四摄4G全网通手机”

bool复合查询,must必须,全文检索字段用 match,其他非 text 字段匹配用 term

GET product/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "skuTitle": "华为"
          }
        }
      ]
    }
  }
}

二. 检索分类

在这里插入图片描述
检索字段:分类id

“catalogId” : 225

match会计算热度评分,filter不计算分数效率更快,所有把不需要热度评分的字段放大filter
全文检索字段用 match,其他非 text 字段匹配用 term

GET product/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "skuTitle": "华为"
          }
        }
      ],
      "filter": {
        "term": {
          "catalogId": "225"
        }
      }
    }
  }
}

三. 检索品牌

在这里插入图片描述
品牌是可以多选的,检索条件为品牌id的集合
terms等价于mysql 的 in()

检索字段:品牌Id

“brandId” : 9

GET product/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "skuTitle": "华为"
          }
        }
      ],
      "filter": [
        {
          "term": {
            "catalogId": "225"
          }
        },
        {
          "terms": {
            "brandId": [
              "1",
              "2",
              "9"
            ]
          }
        }
      ]
    }
  }
}

四. 检索属性

: attrId----------attrValue
在这里插入图片描述属性可多选
查询attrs属性下嵌入的属性attr_id需要使用nested 嵌套查询

"attrs" : [
            {
              "attrId" : 15,
              "attrName" : "CPU品牌",
              "attrValue" : "高通(Qualcomm)"
            },
            {
              "attrId" : 16,
              "attrName" : "CPU型号",
              "attrValue" : "骁龙855"
            }
          ]

检索字段:属性id、属性值

“attrId” : 15,
“attrValue” : “高通(Qualcomm)”

GET product/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "skuTitle": "华为"
          }
        }
      ],
      "filter": [
        {
          "term": {
            "catalogId": "225"
          }
        },
        {
          "terms": {
            "brandId": [
              "1",
              "2",
              "9"
            ]
          }
        },
        {
        "nested": {
          "path": "attrs",
          "query": {
            "bool": {
              "must": [
                {
                  "term": {
                    "attrs.attrId": {
                      "value": "15"
                    }
                  }
                },
                {
                  "terms": {
                    "attrs.attrValue": [
                      "高通(Qualcomm)",
                      "以官网信息为准"
                    ]
                  }
                }
              ]
            }
          }
        }
      }
      ]
    }
  }
}

五. 检索库存、排序、价格区间、分页

查询是否有库存
在这里插入图片描述
排序
在这里插入图片描述

查询价格区间
在这里插入图片描述
分页
from从第几页开始,size查询几天记录
在这里插入图片描述

六.product映射

PUT product
{
  "mappings": {
    "properties": {
      "skuId": {
        "type": "long"
      },
      "spuId": {
        "type": "keyword"
      },
      "skuTitle": {
        "type": "text",
        "analyzer": "ik_smart"
      },
      "skuPrice": {
        "type": "keyword"
      },
      "skuImg": {
        "type": "keyword",
        "index": false,
        "doc_values": false
      },
      "saleCount": {
        "type": "long"
      },
      "hasStock": {
        "type": "boolean"
      },
      "hotScore": {
        "type": "long"
      },
      "brandId": {
        "type": "long"
      },
      "catalogId": {
        "type": "long"
      },
      "brandName": {
        "type": "keyword",
        "index": false,
        "doc_values": false
      },
      "brandImg": {
        "type": "keyword",
        "index": false,
        "doc_values": false
      },
      "catalogName": {
        "type": "keyword",
        "index": false,
        "doc_values": false
      },
      "attrs": {
        "type": "nested",
        "properties": {
          "attrId": {
            "type": "long"
          },
          "attrName": {
            "type": "keyword",
            "index": false,
            "doc_values": false
          },
          "attrValue": {
            "type": "keyword"
          }
        }
      }
    }
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/620936.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java+SpringBoot+Vue前后端分离考试学习一体机设计与实现(视频讲解)

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

docker-compose单机容器集群编排

docker-compose dockerfile模板文件可以定义一个独立的应用容器,如果需要多个容器就需要服务编排。服务编排有很多技术方案 docker-compose开源的项目实现对容器集群的快速编排 docker-compose将所管理的容器分为三层,分别为工程,服务&#…

Jenkins+RF持续集成测试(三) 生成测试报告并发给指定人

在上一篇《定时更新SVN完成构建》中讲了定时从SVN拉取最新的测试脚本,并自动构建的过程。这篇我将介绍怎么配置测试robot报告,并发送给指定人群。 1、要发给指定人,首先需要在job配置,构建后操作中增加“Editable Email Notificat…

day3 ARM寄存器组织

目录 寄存器 ARM寄存器 专用寄存器 CPSR寄存器 寄存器 概念:寄存器是处理器内部的存储器,没有地址; 作用:一般用于暂时存放参与运算的数据和运算结果; 分类:包括通用寄存器、专用寄存器、控制寄存器&…

腾讯云数据库2022下半年本地部署市场收入同比增速达110%,远超市场平均水平

6月7日,记者获悉,据全球领先的IT市场研究和咨询公司IDC发布的《2022年下半年中国关系型数据库软件市场跟踪报告》显示,在Top 5厂商中,腾讯云数据库整体收入同比增速、本地部署模式收入同比增速均位列第一。 具体来看,…

ChatPPT一键制作PPT,效果拉满~

💧 C h a t P P T 一 键 制 作 P P T , 效 果 拉 满 ! \color{#FF1493}{ChatPPT一键制作PPT,效果拉满!} ChatPPT一键制作PPT,效果拉满!💧 🌷 仰望天空&#xf…

网络安全面试题集及答案整理汇总(2023最新版详细)

前言 随着国家政策的扶持,网络安全行业也越来越为大众所熟知,想要进入到网络安全行业的人也越来越多。 为了拿到心仪的Offer之外,除了学好网络安全知识以外,还要应对好企业的面试。 作为一个安全老鸟,工作这么多年&…

如何安装intellij IDEA

想要自学编程,又不知道从那开始,百度找起来比较费劲,现在有个比较便捷的途径,就是直接问chatgpt。 在询问chatgpt后,得知目前比较流行的开发工具是intellij IDEA,然后问了chatgpt怎么下载这个工具&#xf…

当Python程序员好不好?我用自己的亲身经历告诉大家

最近有很多人问我是否考虑转行成为Python程序员,包括一些非计算机专业的学生和工作了几年的人。对于这个问题,我不太好给出建议,只能以我的个人经历来谈一下。我个人认为,我处于整个程序员群体的中位水平线上,因此大家…

开源飞行控制库QGroundControl认识

QGroundControl provides full flight control and vehicle setup for PX4 or ArduPilot powered vehicles. It provides easy and straightforward usage for beginners, while still delivering high end feature support for experienced users. QGroundControl为PX4或Ard…

分布式事务解决方案详解

分布式事务 分布式协议 XA规范 XA(eXtended Architecture)标准是X/Open 组织针对分布式事务(DTP)处理的规范,它描述了全局事务管理器和本地资源管理器之间的接口,允许多个资源在同一分布式事务中访问。DT…

Linux——内存和DMA(二)

目录 六、动态内存实例 七、 I/0内存 八、DMA原理及映射 8.1 DMA 工作原理 8.2 DMA映射 1.一致性DMA映射 2. 流式DMA映射 3,分散/聚集映射 4.DMA池 5,回弹缓冲区 九、 DMA统一编程接口 十、习题 书接上回: http://t.csdn.cn/n35…

Redis(二)——Redis持久化与主从架构详解

Redis持久化与主从架构详解 Redis的持久化RDB快照(snapshot)(redis默认持久化方式)bgsave的写时复制(COW)机制save与bgsave对比 AOF(append-only file)配置 Redis 多久才将数据 fsync 到磁盘一次AOF重写 如…

网站创建百度百科词条的方法是什么?

百度百科是一个十分全面的在线百科全书,如果您是某个企业、品牌,或是某个行业或领域的专家,想要在百度百科上为自己的网站创造更多曝光率和权威性,那么在百度百科上创建词条就是一项非常有效的方法。这里需要注意的是创建网站类的…

一、OkHttp_网络请求流程

前言: 一直以来总想对android常用的某个第三方库深入研究一下,每次看完源码之后总是经常的忘记。 为了方便对三方库快速阅读,特此以写文章方式记述。 就从OKHttp开始吧。 再阅读源码之前,要明确 OKHttp是用来做什么的?…

交互原型图设计必备软件,这5款太赞了

如果你是UI/UX设计师,你肯定会在工作中涉及到交互原型图的设计。 在设计交互原型图时,我们通常需要找到一些适合自己的交互原型图设计软件来制作高质量的交互原型图。 与您分享5款易于使用的交互原型图设计软件 1.即时设计 即时设计是国内UI/UX设计师…

用代码点亮儿童节烟花游乐园

文章目录 概述代码烟花效果爆炸效果 结果 概述 尊敬的读者朋友们,六一儿童节到了!这是一个属于孩子们的节日,为了庆祝这个特殊的日子,我们将以计算机代码为媒介,打造一个虚拟的烟花游乐园,让我们一起点亮这…

K8s in Action 阅读笔记——【12】Securing the Kubernetes API server

K8s in Action 阅读笔记——【12】Securing the Kubernetes API server 12.1 Understanding authentication 在上一章中,我们提到API服务器可以配置一个或多个认证插件(授权插件也是同样的情况)。当API服务器接收到一个请求时,它…

【LeetCode热题100】打卡第15天:搜索旋转排序数组在排序数组中查找元素的第一个和最后一个位置

文章目录 【LeetCode热题100】打卡第15天:搜索旋转排序数组&在排序数组中查找元素的第一个和最后一个位置⛅前言 搜索旋转排序数组🔒题目🔑题解 在排序数组中查找元素的第一个和最后一个位置🔒题目 【LeetCode热题100】打卡第…

企业为什么要统一身份认证管理?

身份认证管理(Identity and Access Management,IAM)是一套用来控制用户获取网络系统或应用访问权限的技术与流程。主要包括: 1. 身份管理:创建、删除和维护用户账号,管理用户关键信息如姓名、电子邮件等。这是进行访问控制的基础。 2. 认证管…