带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(1)

简介: 带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(1)


3.4.2.3.Search通过Kibana

创作人:李增胜

 

业务背景

 

在 To B 行业,对商品的搜索展示,是有一定业务要求的,例如:存在合作关系的买家和供应商才能看到供应商店铺的商品,不存在合作关系的买家则不展示商品。另外,有些商品对客户甲展示一种价格,对客户乙则展示另外一种价格,从而区分不同的会员、分组对商品价格的区别。

 

一句话总结:To B 行业的商品销售具有一定封闭性、特殊性。后续例子均在此背景下展开描述,以方便大家更加贴近业务场景来熟悉 Elasticsearch 对文档、索引、查询的一系列操作。

 

本文采用 IK 做分词器,下载的 IK 分词器版本必须和 Elasticsearch 版本一致

IK下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

 

1、在 Elasticsearch 的安装目录的 Plugins 目录下新建 IK 文件夹,然后将下载的 IK 安装包解压到此目录下。

2、重启 Elasticsearch 即可。

 

定义 Mapping

 

商品字段描述如下:

 

l goodsName: 商品名称

l skuCode:商品 sku 编码

l brandName:商品品牌名称

l channelType:渠道类型

l shopCode: 店铺编码

 

l publicPrice:售卖价格(基础价,对所有人开放价格)

l closeUserCode:封闭会员编码

l groupPrice:分组价格,其中使用嵌套类型存储,包括: 分组价格、 分组级别

 

定义商品 Mapping


PUT my_goods
{
  "settings": {
    "index": {
      "number_of_shards": 1,
      "number_of_replicas": 1
    }
  },
  "mappings": {
    "properties": {
      "goodsName": {
        "type": "text",
        "analyzer": "ik_smart"
      },
      "skuCode": {
        "type": "keyword"
      },
      "brandName": {
        "type": "keyword"
      },
      "channelType": {
        "type": "keyword"
      },
      "shopCode": {
        "type": "keyword"
      },
      "publicPrice": {
        "type": "float"
      },
      "closeUserCode": {
        "type": "text",
        "analyzer": "standard"
      },
      "boostValue": {
        "type": "keyword"
      },
      "groupPrice": {
        "type": "nested",
        "properties": {
          "boxLevelPrice": {
            "type": "float"
          },
          "level": {
            "type": "text"
          }
        }
      }
    }
  }
}

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.3.Search通过Kibana(2) https://developer.aliyun.com/article/1231070

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
Java 数据库连接 数据库
【MyBatis】spring整合mybatis教程(详细易懂)
Spring提供了一种轻量级的容器和依赖注入的机制,可以简化应用程序的配置和管理。会初始化N个数据库链接对象,一般在10个,当需要用户请求操作数据库时候,那么就会直接在数据库连接池中获取链接,用完放回连接池中。我们的实体类创建属性的时候我写get、set等方法,过于麻烦,但是我们有一个lombok,可以节约掉这些。这里是自己本地路径的MySQL的jar包,是需要更改的,路径赋值后也需要再加上。把我们的生成的BookMapper里面的方法复制到我们新建的BookBiz里面。选中对应的项目,依次选中生成。
【MyBatis】spring整合mybatis教程(详细易懂)
|
机器学习/深度学习 资源调度 算法
主动学习(Active Learning)简介综述汇总以及主流技术方案
3.主动学习(Active Learning)简介综述汇总以及主流技术方案
主动学习(Active Learning)简介综述汇总以及主流技术方案
|
存储 缓存 算法
详解微处理器CPU的系统结构
CPU的主要性能参数: 1. CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。时钟频率速度是指同步电路中时钟的基础频率,它以“若干次周期每秒”来度量,量度单位采用SI单位赫兹(Hz)。 2. 外频,是CPU外部的工作频率,是由主板提供的基准时钟频率。 3. FSB频率,是连接CPU和主板芯片组中的北桥芯片的前端总线(Front Side Bus)上的数据传输频率。 4. CPU的主频和外频间存在这样的关系:主频=外频×倍频. 指令顺序控制 控制 程序中指令的执行顺序。
1427 0
详解微处理器CPU的系统结构
|
机器学习/深度学习 人工智能 自然语言处理
Agent AI智能体的未来角色、发展路径及其面临的挑战
Agent AI智能体的未来角色、发展路径及其面临的挑战
911 0
|
传感器 存储 编解码
基于ENVI的Landsat 7地表温度(LST)大气校正方法反演与地物温度分析
基于ENVI的Landsat 7地表温度(LST)大气校正方法反演与地物温度分析
774 1
|
前端开发 API Python
Matplotlib从入门到精通02-层次元素和容器
Matplotlib从入门到精通02-层次元素和容器
Matplotlib从入门到精通02-层次元素和容器
|
Java 关系型数据库 MySQL
Activiti基础知识---学习笔记
Activiti基础知识---学习笔记
749 0
|
网络协议 前端开发 网络虚拟化
软考网络规划师复习第六章:基础网络实验
软考网络规划师复习第六章:基础网络实验
|
前端开发 数据安全/隐私保护
常用HTML标签大全
常用HTML标签大全
916 0
|
运维 Linux 网络安全
细谈企业网络安全中堡垒机绕过问题
细谈企业网络安全中堡垒机绕过问题
1418 0
细谈企业网络安全中堡垒机绕过问题

热门文章

最新文章