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

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

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


Boosting 查询

 

Boosting 用于控制评分相关度,可以提升评分也可以降低评分。

 

可以看到 2 条文档记录评分一致:"_score" : 1.3862942 ,

 

当我们修改 negative_boost: 0.2 时,此时返回(省略部分无关字段)


POST /my_goods/_search
{
  "query": {
    "boosting": {
      "positive": {
        "term": {
          "skuCode": {
            "value": "skuCode1"
          }
        }
      },
      "negative": {
        "term": {
          "goodsName": {
            "value": "三星"
          }
        }
      }, 
      "negative_boost": 0.2
    }
  }
}
#返回
"hits" : [
      {
        "_index" : "my_goods",
        "_type" : "_doc",
        "_id" : "1",
        "_score" : 1.3862942,
        "_source" : {
          "goodsName" : "苹果 51英寸 4K超高清",
          "skuCode" : "skuCode1",
          "brandName" : "苹果",
          "closeUserCode" : [
            "0"
          ],
          "channelType" : "cloudPlatform",
          "shopCode" : "sc00001",
          "publicPrice" : "8188.88",
          "groupPrice" : null,
          "boxPrice" : null,
          "boostValue" : 1.8,
          "shopName" : "张三店铺"
        }
      },
      {
        "_index" : "my_goods",
        "_type" : "_doc",
        "_id" : "6",
        "_score" : 0.27725884,
        "_source" : {
          "goodsName" : "三星UA55RU7520JXXZ 51英寸 4K超高清",
          "skuCode" : "skuCode1",
          "brandName" : "三星",
          "closeUserCode" : [
            "0"
          ],
          "channelType" : "cmccPlatform",
          "shopCode" : "sc00001",
          "publicPrice" : "8188.88",
          "groupPrice" : null,
          "boxPrice" : null,
          "boostValue" : 1.2
        }
      }
    ]

此时发现文档 ID=6 的评分下降到 _score : 0.27725884,因为在 negative 命中了查询条件,negative_boost 在 0 到 1 之间时,用于降低评分,相反,大于 1 用于提升评分。

 

Constant score query 查询

 

当查询不关心 TF(词频)时,就可以使用 constant score query 。


POST /my_goods/_search
{
  "query": {
"constant_score": {
      "filter": {
        "term": {
          "goodsName": "苹果"
        }
      },
      "boost": 1.2
    }
  }
}

返回(省略部分无关字段)


{
        "_index" : "my_goods",
        "_type" : "_doc",
        "_id" : "3",
        "_score" : 1.2,
        "_source" : {
          "goodsName" : "苹果UA55RU7520JXXZ 53英寸 4K高清"
        }
      },
      {
        "_index" : "my_goods",
        "_type" : "_doc",
        "_id" : "4",
        "_score" : 1.2,
        "_source" : {
          "goodsName" : "山东苹果UA55RU7520JXXZ 苹果54英寸 5K超高清"
        }
      }
}


可以看到,文档 ID =3 的评分和文档 ID =4 的评分一样,但是 ID=4 的匹配相关度更高,这是由于我们忽略了词频对打分的影响。



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

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
安全 Java
【深入理解同步器AQS】
【深入理解同步器AQS】
759 0
|
8月前
|
机器学习/深度学习 测试技术 API
阿里云分布对齐的序列蒸馏实现卓越的Long CoT推理能力,登顶Hugging Face趋势榜!
阿里云飞天实验室发布DASD推理蒸馏技术,开源DASD-4B/30B-Thinking模型及高质量训练数据。创新提出温度调节学习、差异感知采样与混合策略蒸馏三大技术,仅用44.8万样本即在AIME25(83.3)、LCB v5(69.3)、GPQA-D(68.4)等基准上超越同尺寸甚至更大模型,数据集登顶Hugging Face趋势榜Top5。
926 3
|
9月前
|
存储 弹性计算 Linux
阿里云服务器购买配置选择攻略:地域、实例、带宽与操作系统选择注意事项
云服务器已成为个人博客、企业官网、APP后端支持以及小程序运行等场景不可或缺的基础设施。然而,对于初次接触云服务的新手用户来说,如何选择适合自己的阿里云服务器配置,尤其是地域、实例、带宽与操作系统等方面,可能会感到困惑。本文将为大家解析阿里云服务器购买的各个环节的注意事项,为新手用户提供详尽的选购指南。
356 3
|
9月前
|
数据采集 缓存 网络协议
医疗设备协议对接开发
医疗设备协议对接需实现监护仪、呼吸机等与HIS、EMR等系统间的数据互通,涵盖HL7、DICOM、ASTM等标准及私有协议解析。开发流程包括需求分析、解析开发、数据清洗、网关构建与闭环验证,强调时序性、完整性与安全性。推荐使用Java/Go语言,结合Mirth、Wireshark等工具提升效率。#医疗信息化 #协议对接
|
数据采集 安全 算法
淘宝商品详情接口(item_get)技术指导:从认证到数据解析实战
本文详解淘宝商品详情接口(item_get)的实战调用,涵盖签名认证、数据解析、批量处理等核心环节,提供可复用代码与避坑指南,助力开发者高效稳定获取商品信息。
|
安全 Go 开发者
Go语言实战案例:使用sync.Mutex实现资源加锁
在Go语言并发编程中,数据共享可能导致竞态条件,使用 `sync.Mutex` 可以有效避免这一问题。本文详细介绍了互斥锁的基本概念、加锁原理及实战应用,通过构建并发安全的计数器演示了加锁与未加锁的区别,并封装了一个线程安全的计数器结构。同时对比了Go中常见的同步机制,帮助开发者理解何时应使用 `Mutex` 及其注意事项。掌握 `Mutex` 是实现高效、安全并发编程的重要基础。
|
容器
【Container App】如何长Ping一个目标主机和端口?
本文介绍如何使用 nc (Netcat) 命令持续检测目标主机和端口的连通性。通过编写一个包含 while 循环和 sleep 的脚本,实现类似“长 ping”的效果,适用于测试请求是否正常发出的场景。
703 0
|
负载均衡 算法 Java
微服务面试篇
微服务面试篇
890 2
|
缓存 数据可视化 搜索推荐
HarmonyOS 4.0 实况窗上线!支付宝实现医疗场景智能提醒
HarmonyOS 4.0 实况窗上线!支付宝实现医疗场景智能提醒
1356 4
|
Web App开发 网络协议 API
基于C#编写一个远程桌面应用
基于C#编写一个远程桌面应用
1088 0

热门文章

最新文章