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

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

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


Disjunction max query 查询

 

Disjunction 查询也被理解为分离最大化查询,指的是将任何与任一查询匹配的文档,作为结果返回,但只将最佳匹配的评分,作为查询的评分结果返回。

 

例如查询商品名称和品牌名称中包含“苹果”的信息,当品牌的评分高于商品名称时,则返回品牌的评分做为总评分(忽略tie_breaker缓冲)。

 

GET /my_goods/_search
{
  "query": {
    "dis_max": {
      "tie_breaker": 0.7,
      "boost": 1.2,
      "queries": [
        {
          "term": {
            "goodsName": {
              "value": "苹果"
            }
          }
        },
        {
          "term": {
            "brandName": {
              "value": "苹果"
            }
          }
        }
        ]
    }
  }
}

返回结果(忽略无关字段)


"max_score" : 3.0150018,
    "hits" : [
      {
        "_index" : "my_goods",
        "_type" : "_doc",
        "_id" : "1",
        "_score" : 3.0150018,
        "_source" : {
          "goodsName" : "苹果 51英寸 4K超高清",
          "brandName" : "苹果"
        }
      },
      {
        "_index" : "my_goods",
        "_type" : "_doc",
        "_id" : "5",
        "_score" : 1.3465583,
        "_source" : {
          "goodsName" : "苹果UA55R苹果U7苹果520JXXZ 55英寸 5K超高清",
          "brandName" : "三星苹果"
        }
      },
      {
        "_index" : "my_goods",
        "_type" : "_doc",
        "_id" : "4",
        "_score" : 1.2337791,
        "_source" : {
          "goodsName" : "山东苹果UA55RU7520JXXZ 苹果54英寸 5K超高清",
          "brandName" : "山东苹果"
        }
      },


分析:

 

1、ID=1 的记录,由于品牌只包含“苹果” 2 字,Elasticsearch 认为这种匹配度更高,所以此条记录评分排在第一位。

2、ID=5 的记录,由于品牌中和 ID =4 的记录都包含苹果且字数一样,此时就要看 goodsName 包含苹果的词频数量了,ID=5 的品牌中,“苹果”出现了 3 次,而 ID=4 的值出现了 2次,所以评分没有 ID=5 的高,符合我们的预期结果。

3、tie_breaker 字段做什么用呢?它是起到了缓冲的作用(取值范围:0 到 1 之间),Disjunction 查询会将匹配度最高的字段得分,做为整个文档的得分返回,这种情况其他字段就不起作用了,难免有点走极端。此时就需要 tie_breaker 来做缓存,提升其他字段的影响力,最终的结果:brandName 评分+ goodsName 评分 *tie_breaker,作为总评分返回。



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

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
图形学
【unity实战】实现蓄力丢手榴弹、烟雾弹、燃烧弹的效果
【unity实战】实现蓄力丢手榴弹、烟雾弹、燃烧弹的效果
732 0
|
机器学习/深度学习 搜索推荐 安全
语音识别技术是一种将语音信号转换为文本或命令的技术,
语音识别技术是一种将语音信号转换为文本或命令的技术,
|
关系型数据库 MySQL Shell
一文掌握EOF在Shell脚本中的妙用
一文掌握EOF在Shell脚本中的妙用
751 0
|
5天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
5986 8
|
3天前
|
人工智能 测试技术 API
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
Jev是TypeSafe AI推出的“系统一模型”,不生成文本,专做毫秒级结构化决策:Choice(多选)、Score(打分)、Noul(是非概率)。响应快193倍、成本低444倍,适合工单路由、内容审核、测试定级等高频判断场景。
1093 3
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
|
17天前
|
人工智能 自然语言处理 安全
阿里云千问办公 QwenWork详细介绍:产品核心能力、典型场景、价格及常见问题解答
千问办公是阿里云推出的一站式AI办公平台,主打"不止于对话,更注重交付",依托通义千问旗舰大模型,用户一句话即可完成数据分析、PPT生成、视频剪辑等复杂任务,直接输出可用成果。产品深度打通钉钉生态与企业OA,覆盖桌面端、网页端,提供企业标准版198元/人/月等多档订阅方案,新用户注册即赠2000积分,适配工程师、HR、财务等多职业办公场景,成为能动手干活的"全能AI同事"。
3275 10
|
4天前
|
人工智能 并行计算 PyTorch
秋叶 ComfyUI 2026 整合包 v3.2 完整部署教程:Python 3.13 + Torch 2.13 全栈升级
秋叶aaaki ComfyUI 2026年8月整合包v3.2正式发布!全面升级Python 3.13.11、PyTorch 2.13.0+cu130及ComfyUI v0.30.2,原生支持MiniMax H3、Wan 2.2、Qwen-Image-2.1等2026主流音视频/图像模型,解压即用,无需环境配置。
590 2

热门文章

最新文章