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

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 带你读《Elastic Stack 实战手册》之18:——3.4.2.3.Search通过Kibana(10)

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


Function score query 查询

 

Function score 允许你控制查询评分,是用来控制评分过程的终极武器。最高效的用法是用过滤器对结果的子集应用不同的函数,同时运用了 filter 的缓存,并且达到控制评分的过程。

 

我们想让山东的苹果搜索出现在美国苹果之前,查询商品名称包含“苹果”,当品牌中包含“美国”时,权重设置为 2,当出现“山东”时,权重设置为 40 。


GET /my_goods/_search
{
  "query": {
"function_score": {
      "query": {
        "term": {
          "goodsName": {
            "value": "苹果"
          }
        }
      },
      "boost": 2, 
      "functions": [
        {
          "filter": {
            "match":{
              "brandName":"美国"
            }
          },
          "random_score": {
          },
          "weight": 2
        },
        {
          "filter": {
            "match":{
              "brandName":"山东"
            }
          },
          "weight": 40
        }
      ],
      "max_boost": 60,
      "score_mode": "max",
      "boost_mode": "multiply",
      "min_score": 2
    }
  }
}


返回主要信息


   "max_score" : 2.2442641,
    "hits" : [
     {
        "_index" : "my_goods",
        "_type" : "_doc",
        "_id" : "4",
        "_score" : 2.0562985,
        "_source" : {
          "goodsName" : "山东苹果UA55RU7520JXXZ 苹果54英寸 5K超高清",
          "brandName" : "山东苹果"
        }
      },
      {
        "_index" : "my_goods",
        "_type" : "_doc",
        "_id" : "3",
        "_score" : 1.7582327,
        "_source" : {
          "goodsName" : "苹果UA55RU7520JXXZ 53英寸 4K高清",
          "brandName" : "美国苹果",
        }
      }
    ]

解释几个参数:

 

l score_modemultiply: 默认,分数相乘

l avg:平均分数,第一个 function 的分数

l max:使用评分最大的分数

l min:使用评分最小的分数

 

举例,如果 2 个函数返回的分数为 1 和 2,并且它们的权重分别为 3 和 4,则他们的评分为:(1*3+2*4)/(3+4)

 

其他详解请参考官方score-functions详解:

https://www.elastic.co/guide/en/elasticsearch/reference/7.10/query-dsl-function-score-query.html#score-functions


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

 


相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
运维 负载均衡 监控
OceanBase数据库认证专家OBCP发布啦!首发期报名培训和认证考试特大优惠!
OBCP 首发期在官网申购考试券并参加考试,享受 5 折优惠!
OceanBase数据库认证专家OBCP发布啦!首发期报名培训和认证考试特大优惠!
|
传感器 监控 搜索推荐
探索智能家居技术的未来
【10月更文挑战第6天】 本文深入探讨了智能家居技术的发展历程、当前应用及其未来前景。通过分析物联网(IoT)的基本原理和智能家居设备的实际应用案例,揭示了该领域面临的挑战与机遇,并提出了未来发展的趋势和可能性。
316 3
|
11月前
|
机器学习/深度学习 人工智能 算法
【AI系统】LLVM 后端代码生成
本文介绍 LLVM 后端的代码生成过程,包括将优化后的 LLVM IR 转换为目标代码的关键步骤,如指令选择、寄存器分配、指令调度等,以及后端如何支持不同硬件平台的代码生成。
185 6
|
Kubernetes Cloud Native 持续交付
云原生架构下的微服务设计原则与最佳实践##
在数字化转型的浪潮中,云原生技术以其高效、灵活和可扩展的特性成为企业IT架构转型的首选。本文深入探讨了云原生架构的核心理念,聚焦于微服务设计的关键原则与实施策略,旨在为开发者提供一套系统性的方法论,以应对复杂多变的业务需求和技术挑战。通过分析真实案例,揭示了如何有效利用容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,构建高性能、易维护的云原生应用。文章还强调了文化与组织变革在云原生转型过程中的重要性,为企业顺利过渡到云原生时代提供了宝贵的见解。 ##
|
存储 前端开发 Java
谷粒商城笔记+踩坑(19)——订单模块构建、登录拦截器
首先搭建页面环境,然后介绍整合Spring Session的相关内容,并将用户信息放到session里,多线程优化,完成订单模块的功能、登录拦截等功能的实现
谷粒商城笔记+踩坑(19)——订单模块构建、登录拦截器
|
Java 程序员 数据库
业务需求-用AOP记录系统操作日志
全栈老司机 程序员林中酒 更新了本文详细介绍了如何使用AOP(面向切面编程)记录系统操作日志的业务需求,包括需求分析、技术实现分析、数据库设计和代码实现等各个环节。您将了解如何高效、规范地实现这一功能
|
编解码
OKCC呼叫中心系统都有哪些功能
OKCC呼叫中心是一套完整的电话呼叫中心解决方案,它能够兼容市场上绝大多数的支持标准SIP协议的终端网关以及众方系传统的MGCP协议终端网关,并且经受住了市场的考验并获得了一致好评,业内有关其它厂商录音业务的痛点,在呼叫中心给出了很好的解决方案。下面我们来详细介绍相关内容。
|
弹性计算 Java 数据库
基于ECS使用Halo实现博客平台
基于ECS使用Halo实现博客平台,快速的搭建一个可用的动态博客平台
751 2
基于ECS使用Halo实现博客平台
|
存储 弹性计算 安全
阿里云的优缺点
优点: 1.地域和性能全面,多地域多可用区 2.阿里云服务器弹性伸缩 3.自定义网络构架 4.阿里云服务器安全可靠 缺点: 1.无法和钉钉等阿里系以外的工具集成 2.无一对一的专属客户服务 3.不太接受小公司提的产品需求
阿里云的优缺点

热门文章

最新文章