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

简介: 带你读《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并实现搜索。  
相关文章
|
5月前
|
人工智能 自然语言处理 搜索推荐
AI数字人解锁数字展厅的“智慧大脑”,展厅互动体验焕新升级
在数字化转型浪潮中,波塔AI数字人系统以AI技术重塑展厅体验,破解传统展厅人力成本高、交互单一等痛点。支持24小时智能讲解、多模态互动、个性化推荐、多语种服务,并联动灯光、大屏等设备打造沉浸式空间。兼具品牌代言人、智能导览员与数据分析师多重角色,助力企业实现从“展示”到“服务”的智慧升级,开启展厅新时代。
248 0
|
20天前
|
监控 安全 搜索推荐
分类信息平台首次卖家精准钓鱼攻击机理与防控体系研究
本文剖析2026年瑞士NCSC披露的针对分类平台新手卖家的定向钓鱼攻击,揭示其利用公开信息精准筛选、多阶段社会工程诱导的特点;提出覆盖平台治理、邮件检测、终端防护与用户教育的闭环防控体系,并提供可落地的检测代码与95%+识别率验证方案。(239字)
78 9
|
4月前
|
存储 网络协议 数据安全/隐私保护
09-ELK环境搭建
基于ElasticSearch、Kibana、Filebeat构建日志系统,部署于192.168.xxx.xxx服务器。通过Filebeat采集应用日志,ES存储并解析,Kibana展示与搜索,结合Pipeline实现字段提取,配置ILM策略自动清理7天前日志,完成高效集中式日志管理。
|
4月前
|
运维 Go 定位技术
探索热辐射:吸收比/发射率的调控艺术与应用(太阳能篇)
太阳能技术研发的核心在于建立器件性能与材料特性的精准关联。反射率/发射率测量仪在太阳能涂层开发、CSP系统设计、光伏材料优化及集热效率提升中发挥关键作用,助力实现高效光热转换与能量利用。
|
4月前
|
数据采集 数据建模 领域建模
领域模型图(数据架构/ER图)
数据架构的核心输出是ER图,通过四色原型法进行领域建模:红色MI表示时标事件,绿色PPT为业务实体,黄色Role是参与角色,蓝色DESC提供描述属性。以风控系统为例,从业务流程提炼MI,识别PPT实体与Role角色,补充DESC描述,最终提取含实体、关系及约束的ER图,指导数据建模。
|
分布式计算 NoSQL Java
2024年最新推荐3款可以搞定中国式复杂报表的报表工具
中国式复杂报表以结构复杂、多数据源和大量信息为特点,常见于金融等领域。适合制作这类报表的工具有润乾报表、smartBI和亿信BI。润乾报表以其非线性模型擅长处理复杂报表,支持多种数据源,提供数据准备层,降低开发难度;smartBI采用真Excel架构,学习成本低,但性能可能因Excel而受限;亿信BI则注重BI功能,其在线设计器操作流畅性欠佳。在性价比方面,润乾报表以较低价格和完整功能脱颖而出。建议根据具体需求选择适合的工具进行试用。
541 1
|
测试技术
软件复杂度量化:McCabe度量法及其环路复杂度的计算方法
McCabe度量法(McCabe's Cyclomatic Complexity)是一种经典的方法,用于度量软件程序的复杂度。通过计算程序中独立路径的数量,帮助开发人员评估代码的维护难度和测试覆盖率。本文详细介绍了McCabe度量法的原理、计算方法及其在实际应用中的作用。
3088 0
|
前端开发
elementui源码学习之仿写一个el-card
elementui源码学习之仿写一个el-card
542 0
|
存储 算法 程序员
虚拟存储 分段分页段页解读(下)
虚拟存储 分段分页段页解读(下)
|
小程序 生物认证 API
微信小程序调用指纹验证详解
最近接到一个私单,需要小程序里面实现指纹验证。废话不多说,先查小程序api。
1626 0
微信小程序调用指纹验证详解

热门文章

最新文章