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

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

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


Multi-match

 

多字段匹配,可以在多个字段中匹配查询相关信息,通过 type 参数可以调整结果集


#查询商品名称和品牌名称中包含苹果的文档信息
POST /my_goods/_search
{
  "query": {
    "multi_match": {
      "query": "苹果",
      "type": "best_fields", 
      "fields": ["goodsName","brandName"],
      "tie_breaker": 0.3
    }
  }
}

type 参数类型详解:

 

l best_fields :默认,匹配 fields,将评分最高的分数做为整个查询的分数返回;


l most_fields:查询匹配的文档,并且返回各个字段的分数之和的平均值;

l cross_fields:跨字段匹配,匹配多个字段中是否包含查询词组,对每个字段分别进行打分,然后执行 max 运算获取打分最高的;

l phrase:以 match_phrase 方式运行查询,并返回最佳匹配的评分做为总评分;

l phrase_prefix:以 match_phrase_prefix 方式运行查询,并返回最佳匹配的评分做为总评分;

l bool_prefix:在每个字段上运行 match_bool_prefix 查询,并组合每个字段的评分,详情参考 bool_prefix 以 cross_fields 为例进行实战讲解。

 

#插入测试数据
PUT my_shop
{
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 1
  },
  "mappings": {
    "properties": {
      "firstName":{
        "type":"text"
      },
      "lastName":{
        "type":"text"
      }
    }
  }
}
POST my_shop/_bulk
{"index":{"_id":1}}
{"first_name":"Will","last_name":"Smith","age":25}
{"index":{"_id":2}}
{"first_name":"Smith","last_name":"hello","age":21}
{"index":{"_id":3}}
{"first_name":"Will","last_name":"hello","age":20}
#查询姓名为 Will Smith 的信息
GET /my_shop/_search
{
  "query": {
    "multi_match" : {
      "query":      "Will Smith",
      "type":       "cross_fields",
      "fields":     [ "first_name^2", "last_name" ],
      "operator":   "and"
    }
  }
}
#返回
    "max_score" : 1.9208363,
    "hits" : [
      {
        "_index" : "my_shop",
        "_type" : "_doc",
        "_id" : "1",
        "_score" : 1.9208363,
        "_source" : {
          "first_name" : "Will",
          "last_name" : "Smith",
          "age" : 25
        }
      }
    ]

另外,first_name 提升了权重,默认为1。


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

 

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
机器学习/深度学习 人工智能 监控
【AI 现况分析】AI大模型在财务规划和建议中的应用
【1月更文挑战第27天】【AI 现况分析】AI大模型在财务规划和建议中的应用
|
人工智能 JSON Serverless
阿里云AI剧本生成与动画创作解决方案深度评测
阿里云AI剧本动画全链路解决方案基于函数计算FC、百炼大模型和ComfyUI技术架构,实现从剧本生成到动画渲染的自动化流程。方案在电商广告、知识科普等快速批产场景表现出色,大幅缩短创作时间(如30秒动画从9.5小时减至16.1分钟)。然而,在强剧情连续性和物理规则方面存在不足,建议结合人工审核优化。测试显示其商用级成熟度,推荐采用“AI初稿-人工润色”模式。
1013 138
阿里云AI剧本生成与动画创作解决方案深度评测
|
监控 调度
队列的深度解析:链式队列的实现
队列的深度解析:链式队列的实现
|
安全 网络安全 数据安全/隐私保护
|
JavaScript Java 测试技术
基于Java的网上订餐管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网上订餐管理系统的设计与实现(源码+lw+部署文档+讲解等)
691 0
|
机器学习/深度学习 人工智能 自然语言处理
AI基础科普:揭开人工智能的神秘面纱
人工智能(Artificial Intelligence, AI)已经成为现代科技的热门话题,影响着我们的生活方方面面。从语音助手到自动驾驶汽车,AI正在以惊人的速度改变着世界。然而,对于许多人来说,AI仍然是一个模糊的概念。本文将通过通俗易懂的语言和丰富的图文,全面介绍AI的基础知识,帮助读者更好地理解这个激动人心的领域。
|
人工智能 搜索推荐 数据可视化
鸿蒙应用实践:利用扣子API开发起床文案生成器
本文将使用扣子(coze)智能体API开发一个起床文案生成器,用于自己的鸿蒙应用中生成”千人千面“的起床文案。
672 0
|
关系型数据库 MySQL PHP
Docker六脉神剑(二) 使用Docker构建lnmp开发环境
Docker六脉神剑(二) 使用Docker构建lnmp开发环境
438 0
springboot整合elasticsearch
springboot整合elasticsearch
|
存储 安全 Linux
Linux中断(tasklet,工作队列,内核线程的使用)
Linux中断(tasklet,工作队列,内核线程的使用)
386 0

热门文章

最新文章